整合星球内容至笔记库

308 阅读2分钟

目的

整合星球内容至自己的笔记库

功能

爬取[[知识星球]](网页版)所需要内容,并制作成md文件。(需已购入星球会员)

效果图

用法

请求设置

    1. 网页版知识星球,wx.zsxq.com/dweb/#。
    1. 在配置文件config.py中,填入初始网址和授权token
      Cookie里有一个zsxq_access_token=,这个后面跟着的就是授权token。
    1. 设置爬取的重试次数和随机事件,降低封控风险。
  # API配置  
API_CONFIG = {  
    'base_url''https://api.zsxq.com/v2/groups/xxxxx',  
    'authorization''3704A4EE-377E-1C88-B031-0A42D9E9Bxxx'#换成自己的acceess token  
    'user_agent''Mozilla/5.0 xxxxxx'#自己换下agent  
}  
  
# 请求配置  
REQUEST_CONFIG = {  
    'max_retries': 3,  
    'retry_delay': (4, 21),  # 随机延迟范围(秒)  
    'timeout': 30  
}

文件路径

  • • 在配置文件config.py中, 存储获取id后的存储文件。
  • • 输出文件位置。
  # 文件路径配置  
FILE_PATHS = {  
    'column_ids''data/column_ids.json',  #column id
    'topic_ids''data/topic_ids.txt',  #topic id 
    'article_urls''data/article_urls.txt',  #最终文章的articl id / 如果是有压缩包和文件,改为file id。 
    'failed_ids': {  
        'columns''data/failed_column_ids.txt',  
        'topics''data/failed_topic_ids.txt',  
        'articles''data/failed_article_ids.txt'  
    },  
    'output': {  
        'markdown''output/markdown',  
        'pdf''output/pdf',  
        'images''output/images'  
    }  
}

转换为MD文件

  • • 这篇代码只转为md文件。
  • • 如需制作 PDF 电子书,参考结尾处GITHUB项目「github.com/chanwoood/c…

分析页面

    1. 登录成功后,F12查看源代码。
    1. 筛选异步加载(XHR),找对应接口,不断套娃,找下一层。
    • • 精华区的接口(示例已过期):api.zsxq.com/v2/groups/2…
    • • 不同的星球,文章和话题的层级结构不同。
    • • 如下截图,他直接在groups id _ 2421112121,下获取topic id即可获取最终内容。
      然后不断翻页,获取最新的部分。
    • 注意事项
      我的代码层级是 groupid - column id - topic id -article id,获取articleid后,才能拿到最终想要下载的内容。

分析流程

    1. 登录后,找到你需要话题(先不点击),按F12,并筛选点击Fetch/XHR

    屏幕截图 2025-05-19 085611.png

    1. 点击需要的话题,等网页加载完成,然后你找到想要的结构,不断往下套娃获取所需内容。
    1. 将代码里的article id 和topic id换掉对应的id即可。

获取目标网页内容后

  • 直接用html_converter.py即可转换MD文件。
  • • md_image_embedder.py -是将图片嵌入到MD文件中。
  • • 填入获取到的存储url的最终文件路径。
  • • 你需要其他格式(pdf 等),就直接让ai 去写。
  # 设置默认路径  
default_md_dir = r"D:\Curesorproject\output\markdown"  
default_image_dir = r"D:\Curesorproject\output\images"

将MD文件导入自己的知识库。

(整个思路,源于github.com/chanwoood/c…)

**请尊重知识产权,此文章仅供自用学习参考,切勿商用。

小新不是猪妖

求三连,支持!!!