-
Notifications
You must be signed in to change notification settings - Fork 908
Expand file tree
/
Copy pathconfig.json.example
More file actions
139 lines (139 loc) · 10.1 KB
/
Copy pathconfig.json.example
File metadata and controls
139 lines (139 loc) · 10.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
{
"user_id_list": "user_id_list.txt", // 用户ID列表文件路径或用户ID数组,格式:每行一个用户ID,或 ["123456", "789012"]
"only_crawl_original": 0, // 是否只爬取原创微博 0 = 爬取全部(原创+转发),1 = 只爬取原创微博
"since_date": "2026-01-01", // 开始爬取的时间范围(格式:YYYY-MM-DD),只爬取该日期之后发布的微博
"end_date": "", // 截止爬取的时间范围(格式:YYYY-MM-DD 或 YYYY-MM-DDTHH:MM:SS),为空则不限制,只爬取该日期之前发布的微博
"start_page": 1, // 从第几页开始爬取,通常保持为1,断点续传时可调整
"page_weibo_count": 20, // 每页爬取的微博数量(10-50之间),建议:10-20,太大可能被限制
"write_mode": [
"markdown",
"csv",
"json"
], // 输出格式(可多选),可选项:csv, json, mysql, mongo, sqlite, post, markdown,示例:["markdown"] 或 ["markdown", "csv", "json"]
"markdown_split_by": "day_by_month", // markdown文件分割方式,可选项:day(按天,平铺),day_by_month(按天,按月归档到子文件夹),month(按月),year(按年),all(所有数据在一个文件)
"markdown_sort_order": "new_to_old", // markdown中同一分组内多条微博的排序方式,可选项:new_to_old(从新到旧,最新在前),old_to_new(从旧到新,最早在前)
"markdown_image_order": "live_photo_first", // markdown中图片与Live Photo的排列顺序,可选项:live_photo_first(Live Photo排在图片前面),image_first_interleaved(图片优先,同名Live Photo插入到对应图片下方)
"missing_weibo_report": 0, // 是否在每次爬取结束后,在 output_directory 下生成本次爬取较上次缺失(已删除/未爬到)的微博ID报告 0 = 不生成,1 = 生成
"markdown_preview": {
"link_preview": 0, // 网页链接是否预览(!语法) 0 = 普通链接 [text](url),1 = 预览图片 
"original_video_preview": 0, // 原创微博视频是否预览 0 = 普通链接,1 = 预览
"retweet_video_preview": 0, // 转发微博视频是否预览 0 = 普通链接,1 = 预览
"original_image_preview": 1, // 原创微博图片是否预览 0 = 普通链接,1 = 预览
"retweet_image_preview": 1, // 转发微博图片是否预览 0 = 普通链接,1 = 预览
"original_live_photo_preview": 0, // 原创微博Live Photo是否预览 0 = 普通链接,1 = 预览
"retweet_live_photo_preview": 0, // 转发微博Live Photo是否预览 0 = 普通链接,1 = 预览
"inline_image_preview": 1 // 正文中"查看图片"是否预览 0 = 普通链接,1 = 预览
},
// ==========================================================================
// 为什么会有两个配置块(markdown_file_dir 和 download_folder_name)?
//
// 这取决于是否在 write_mode 中启用了 "markdown"。
//
// ——————————————————————————————————————————————————————————————————————
// 场景一:启用了 "markdown"(write_mode 含 "markdown")
//
// 程序会生成 .md 文件,并下载媒体文件到本地。
//
// 您应该修改以下两个配置块的全部项,并让相同媒体的值保持一致:
// ● markdown_file_dir → 决定 .md 文件里链接的路径
// 同时决定图片的下载目录
// ● download_folder_name → 决定视频和 Live Photo 的下载目录
// (其中图片项在 md 模式下不生效,可忽略)
//
// ——————————————————————————————————————————————————————————————————————
// 场景二:没有启用 "markdown"(write_mode 不含 "markdown")
//
// 程序不会生成 .md 文件,只下载媒体文件到本地。
//
// 你只需修改 download_folder_name 的全部六项:
// ● download_folder_name → 决定所有媒体文件的下载目录
// ● markdown_file_dir → 不参与任何逻辑,完全忽略
//
// ——————————————————————————————————————————————————————————————————————
//
// 图片的下载目录在 md 模式下改由 markdown_file_dir 接管;
// 视频和 Live Photo 的下载目录在所有模式下统一由 download_folder_name 接管。
//
// ==========================================================================
"markdown_file_dir": {
"original_image_dir": "img", // md 中图片链接路径 & 图片下载目录
"retweet_image_dir": "img",
"original_video_dir": "原创微博视频", // md 中视频链接路径
"retweet_video_dir": "转发微博视频",
"original_live_photo_dir": "原创微博Live Photo视频", // md 中 Live Photo 链接路径
"retweet_live_photo_dir": "转发微博Live Photo视频"
},
"download_folder_name": {
"original_image_folder": "原创微博图片", // 图片下载目录(仅非 md 模式生效)
"retweet_image_folder": "转发微博图片",
"original_video_folder": "原创微博视频", // 视频下载目录(所有模式生效)
"retweet_video_folder": "转发微博视频",
"original_live_photo_folder": "原创微博Live Photo视频", // Live Photo 下载目录(所有模式生效)
"retweet_live_photo_folder": "转发微博Live Photo视频"
},
"original_pic_download": 0, // 是否下载原创微博图片 0 = 不下载,1 = 下载
"retweet_pic_download": 0, // 是否下载转发微博图片 0 = 不下载,1 = 下载
"original_video_download": 0, // 是否下载原创微博视频 0 = 不下载,1 = 下载
"retweet_video_download": 0, // 是否下载转发微博视频 0 = 不下载,1 = 下载
"original_live_photo_download": 0, // 是否下载原创微博Live Photo 0 = 不下载,1 = 下载
"retweet_live_photo_download": 0, // 是否下载转发微博Live Photo 0 = 不下载,1 = 下载
"download_comment": 0, // 是否下载评论 0 = 不下载,1 = 下载
"comment_max_download_count": 100, // 单条微博最大评论下载数量, 仅当 download_comment = 1 时生效
"comment_pic_download": 0, // 是否下载评论图片 0 = 不下载,1 = 下载
"download_repost": 0, // 是否下载转发 0 = 不下载,1 = 下载
"repost_max_download_count": 100, // 单条微博最大转发下载数量, 仅当 download_repost = 1 时生效
"output_directory": "weibo_data", // 数据输出目录
"user_id_as_folder_name": 0, // 是否以用户ID作为子文件夹名称 0 = 否,1 = 是
"remove_html_tag": 1, // 是否移除微博内容中的HTML标签 0 = 否,1 = 是
"cookie": "YOUR_WEIBO_COOKIE_HERE",
// 微博Cookie(重要!)
// 登录微博后,在浏览器开发者工具中获取
// 格式:SCF=...; SUB=...; SUBP=...; ALF=...; SSOLoginState=...
"sqlite_db_path": "weibodata.db", // SQLite数据库文件路径,仅当 write_mode 包含 sqlite 时生效
"mysql_config": {
"host": "localhost",
"port": 3306,
"user": "root",
"password": "123456",
"charset": "utf8mb4"
},
// MySQL数据库配置(仅当 write_mode 包含 mysql 时需要)
"store_binary_in_sqlite": 0, // 是否在SQLite中存储二进制数据(图片、视频) 0 = 只存路径,1 = 存储二进制数据(文件会很大)
"mongodb_URI": "mongodb://[username:password@]host[:port][/[defaultauthdb][?options]]",
"post_config": {
"api_url": "https://api.example.com",
"api_token": ""
},
// MongoDB连接字符串(仅当 write_mode 包含 mongo 时需要)
"anti_ban_config": {
"enabled": true, // 是否启用反封禁机制
"max_weibo_per_session": 500, // 单次运行最大微博数量,达到此数量后自动暂停,防止一次性爬取过多
"batch_size": 50, // 批次大小,每爬取这么多条微博后,执行批次延迟
"batch_delay": 30, // 批次延迟时间(秒),每批次后的强制等待时间
"request_delay_min": 8, // 请求延迟最小值(秒)
"request_delay_max": 15, // 请求延迟最大值(秒)
"max_session_time": 600, // 最大单次运行时间(秒),达到此时间后强制休息
"max_api_errors": 5, // 最大API错误次数,达到此次数后强制休息
"rest_time_min": 180, // 休息时间最小值(秒),触发休息条件后暂停的时间
"random_rest_probability": 0.01, // 每次休息后,随机触发额外休息的概率
"user_agents": [
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0",
"Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Mobile/15E148 Safari/604.1",
"Mozilla/5.0 (Linux; Android 14; SM-S9180) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.6367.113 Mobile Safari/537.36"
],
"accept_languages": [
"zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6",
"en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7",
"zh-TW,zh;q=0.9,en;q=0.8"
],
"referer_list": [
"https://m.weibo.cn/",
"https://weibo.com/",
"https://www.weibo.com/"
]
},
"write_time_in_exif": 1, // 是否将微博发布时间写入EXIF
"change_file_time": 1 // 是否修改文件系统时间
}