Skip to content

Commit 43dffeb

Browse files
committed
feat: xhs帖子详情获取优化
1 parent de32d06 commit 43dffeb

File tree

4 files changed

+338
-226
lines changed

4 files changed

+338
-226
lines changed

README.md

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,26 @@
2424
通过使用此方式,免去了复现核心加密JS代码,逆向难度大大降低
2525

2626
# 功能列表
27-
| 平台 | 关键词搜索 | 指定帖子ID爬取 | 二级评论 | 指定创作者主页 | 登录态缓存 | IP代理池 | 生成评论词云图 |
28-
|-----|-------|---------|-----|--------|-------|-------|-------|
29-
| 小红书 ||||||||
30-
| 抖音 ||||||||
31-
| 快手 ||||||||
32-
| B 站 ||||||||
33-
| 微博 ||||||||
34-
| 贴吧 ||||||||
35-
| 知乎 ||||||||
27+
| 平台 | 关键词搜索 | 指定帖子ID爬取 | 二级评论 | 指定创作者主页 | 登录态缓存 | IP代理池 | 生成评论词云图 |
28+
| ------ | ---------- | -------------- | -------- | -------------- | ---------- | -------- | -------------- |
29+
| 小红书 ||||||||
30+
| 抖音 ||||||||
31+
| 快手 ||||||||
32+
| B 站 ||||||||
33+
| 微博 ||||||||
34+
| 贴吧 ||||||||
35+
| 知乎 ||||||||
36+
37+
### MediaCrawlerPro重磅发布啦!!!
38+
> 主打学习成熟项目的架构设计,不仅仅是爬虫,Pro中的其他代码设计思路也是值得学习,欢迎大家关注!!!
39+
40+
[MediaCrawlerPro](https://github.com/MediaCrawlerPro) 版本已经重构出来了,相较于开源版本的优势:
41+
- 多账号+IP代理支持(重点!)
42+
- 去除Playwright依赖,使用更加简单
43+
- 支持linux部署(Docker docker-compose)
44+
- 代码重构优化,更加易读易维护(解耦JS签名逻辑)
45+
- 代码质量更高,对于构建更大型的爬虫项目更加友好
46+
- 完美的架构设计,更加易扩展,源码学习的价值更大
3647

3748

3849
# 安装部署方法
@@ -92,18 +103,6 @@
92103
- 支持保存到csv中(data/目录下)
93104
- 支持保存到json中(data/目录下)
94105

95-
### MediaCrawlerPro重磅发布啦!!!
96-
> 主打学习成熟项目的架构设计,不仅仅是爬虫,Pro中的其他代码设计思路也是值得学习,欢迎大家关注!!!
97-
>
98-
> 订阅Pro源代码访问权限,可以加我微信:yzglan,备注:Pro(有一定的门槛💰)
99-
100-
[MediaCrawlerPro](https://github.com/MediaCrawlerPro) 版本已经重构出来了,相较于开源版本的优势:
101-
- 多账号+IP代理支持(重点!)
102-
- 去除Playwright依赖,使用更加简单
103-
- 支持linux部署(Docker docker-compose)
104-
- 代码重构优化,更加易读易维护(解耦JS签名逻辑)
105-
- 代码质量更高,对于构建更大型的爬虫项目更加友好
106-
- 完美的架构设计,更加易扩展,源码学习的价值更大
107106

108107

109108
# 其他常见问题可以查看在线文档

config/base_config.py

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,26 @@
1-
# 声明:本代码仅供学习和研究目的使用。使用者应遵守以下原则:
2-
# 1. 不得用于任何商业用途。
3-
# 2. 使用时应遵守目标平台的使用条款和robots.txt规则。
4-
# 3. 不得进行大规模爬取或对平台造成运营干扰。
5-
# 4. 应合理控制请求频率,避免给目标平台带来不必要的负担。
1+
# 声明:本代码仅供学习和研究目的使用。使用者应遵守以下原则:
2+
# 1. 不得用于任何商业用途。
3+
# 2. 使用时应遵守目标平台的使用条款和robots.txt规则。
4+
# 3. 不得进行大规模爬取或对平台造成运营干扰。
5+
# 4. 应合理控制请求频率,避免给目标平台带来不必要的负担。
66
# 5. 不得用于任何非法或不当的用途。
7-
#
8-
# 详细许可条款请参阅项目根目录下的LICENSE文件。
9-
# 使用本代码即表示您同意遵守上述原则和LICENSE中的所有条款。
7+
#
8+
# 详细许可条款请参阅项目根目录下的LICENSE文件。
9+
# 使用本代码即表示您同意遵守上述原则和LICENSE中的所有条款。
1010

1111

1212
# 基础配置
1313
PLATFORM = "xhs"
14-
KEYWORDS = "编程副业,编程兼职" # 关键词搜索配置,以英文逗号分隔
14+
KEYWORDS = "编程副业,编程兼职" # 关键词搜索配置,以英文逗号分隔
1515
LOGIN_TYPE = "qrcode" # qrcode or phone or cookie
1616
COOKIES = ""
1717
# 具体值参见media_platform.xxx.field下的枚举值,暂时只支持小红书
1818
SORT_TYPE = "popularity_descending"
1919
# 具体值参见media_platform.xxx.field下的枚举值,暂时只支持抖音
2020
PUBLISH_TIME_TYPE = 0
21-
CRAWLER_TYPE = "search" # 爬取类型,search(关键词搜索) | detail(帖子详情)| creator(创作者主页数据)
21+
CRAWLER_TYPE = (
22+
"search" # 爬取类型,search(关键词搜索) | detail(帖子详情)| creator(创作者主页数据)
23+
)
2224

2325
# 是否开启 IP 代理
2426
ENABLE_IP_PROXY = False
@@ -63,7 +65,6 @@
6365
CRAWLER_MAX_COMMENTS_COUNT_SINGLENOTES = 10
6466

6567

66-
6768
# 是否开启爬二级评论模式, 默认不开启爬二级评论
6869
# 老版本项目使用了 db, 则需参考 schema/tables.sql line 287 增加表字段
6970
ENABLE_GET_SUB_COMMENTS = False
@@ -85,15 +86,12 @@
8586
# 指定抖音需要爬取的ID列表
8687
DY_SPECIFIED_ID_LIST = [
8788
"7280854932641664319",
88-
"7202432992642387233"
89+
"7202432992642387233",
8990
# ........................
9091
]
9192

9293
# 指定快手平台需要爬取的ID列表
93-
KS_SPECIFIED_ID_LIST = [
94-
"3xf8enb8dbj6uig",
95-
"3x6zz972bchmvqe"
96-
]
94+
KS_SPECIFIED_ID_LIST = ["3xf8enb8dbj6uig", "3x6zz972bchmvqe"]
9795

9896
# 指定B站平台需要爬取的视频bvid列表
9997
BILI_SPECIFIED_ID_LIST = [
@@ -116,9 +114,7 @@
116114
]
117115

118116
# 指定贴吧需要爬取的帖子列表
119-
TIEBA_SPECIFIED_ID_LIST = [
120-
121-
]
117+
TIEBA_SPECIFIED_ID_LIST = []
122118

123119
# 指定贴吧名称列表,爬取该贴吧下的帖子
124120
TIEBA_NAME_LIST = [
@@ -167,8 +163,8 @@
167163
# 自定义词语及其分组
168164
# 添加规则:xx:yy 其中xx为自定义添加的词组,yy为将xx该词组分到的组名。
169165
CUSTOM_WORDS = {
170-
'零几': '年份', # 将“零几”识别为一个整体
171-
'高频词': '专业术语' # 示例自定义词
166+
"零几": "年份", # 将“零几”识别为一个整体
167+
"高频词": "专业术语", # 示例自定义词
172168
}
173169

174170
# 停用(禁用)词文件路径

0 commit comments

Comments
 (0)