目的
整合星球内容至自己的笔记库
功能
爬取[[知识星球]](网页版)所需要内容,并制作成md文件。(需已购入星球会员)
效果图
用法
请求设置
-
- 网页版知识星球,wx.zsxq.com/dweb/#。
-
- 在配置文件config.py中,填入初始网址和授权token
Cookie里有一个zsxq_access_token=,这个后面跟着的就是授权token。
- 在配置文件config.py中,填入初始网址和授权token
-
- 设置爬取的重试次数和随机事件,降低封控风险。
# 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…
分析页面
-
- 登录成功后,F12查看源代码。
-
- 筛选异步加载(XHR),找对应接口,不断套娃,找下一层。
- • 精华区的接口(示例已过期):api.zsxq.com/v2/groups/2…
- • 不同的星球,文章和话题的层级结构不同。
- • 如下截图,他直接在groups id _ 2421112121,下获取topic id即可获取最终内容。
然后不断翻页,获取最新的部分。 - • 注意事项
我的代码层级是 groupid - column id - topic id -article id,获取articleid后,才能拿到最终想要下载的内容。
分析流程
-
- 登录后,找到你需要话题(先不点击),按F12,并筛选点击Fetch/XHR
-
- 点击需要的话题,等网页加载完成,然后你找到想要的结构,不断往下套娃获取所需内容。
-
- 将代码里的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…)
- • 关于PDF的制作,请参照github项目。
- • 源码链接: pan.baidu.com/s/1sA8Y-h3Y… 提取码: 6666
**请尊重知识产权,此文章仅供自用学习参考,切勿商用。