2025-11-18 12:24:02 +08:00
|
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
|
# Copyright (c) 2025 relakkes@gmail.com
|
|
|
|
|
|
#
|
|
|
|
|
|
# This file is part of MediaCrawler project.
|
|
|
|
|
|
# Repository: https://github.com/NanmiCoder/MediaCrawler/blob/main/config/base_config.py
|
|
|
|
|
|
# GitHub: https://github.com/NanmiCoder
|
|
|
|
|
|
# Licensed under NON-COMMERCIAL LEARNING LICENSE 1.1
|
|
|
|
|
|
#
|
|
|
|
|
|
|
2024-11-26 13:37:53 +08:00
|
|
|
|
# 声明:本代码仅供学习和研究目的使用。使用者应遵守以下原则:
|
|
|
|
|
|
# 1. 不得用于任何商业用途。
|
|
|
|
|
|
# 2. 使用时应遵守目标平台的使用条款和robots.txt规则。
|
|
|
|
|
|
# 3. 不得进行大规模爬取或对平台造成运营干扰。
|
|
|
|
|
|
# 4. 应合理控制请求频率,避免给目标平台带来不必要的负担。
|
2024-10-20 00:43:25 +08:00
|
|
|
|
# 5. 不得用于任何非法或不当的用途。
|
2024-11-26 13:37:53 +08:00
|
|
|
|
#
|
|
|
|
|
|
# 详细许可条款请参阅项目根目录下的LICENSE文件。
|
|
|
|
|
|
# 使用本代码即表示您同意遵守上述原则和LICENSE中的所有条款。
|
2024-10-20 00:43:25 +08:00
|
|
|
|
|
2023-11-26 21:43:39 +08:00
|
|
|
|
# 基础配置
|
2025-07-30 21:31:50 +08:00
|
|
|
|
PLATFORM = "xhs" # 平台,xhs | dy | ks | bili | wb | tieba | zhihu
|
|
|
|
|
|
KEYWORDS = "编程副业,编程兼职" # 关键词搜索配置,以英文逗号分隔
|
2025-05-22 22:26:30 +08:00
|
|
|
|
LOGIN_TYPE = "qrcode" # qrcode or phone or cookie
|
2023-11-26 21:43:39 +08:00
|
|
|
|
COOKIES = ""
|
2024-11-26 13:37:53 +08:00
|
|
|
|
CRAWLER_TYPE = (
|
2025-07-30 21:31:50 +08:00
|
|
|
|
"search" # 爬取类型,search(关键词搜索) | detail(帖子详情)| creator(创作者主页数据)
|
2024-11-26 13:37:53 +08:00
|
|
|
|
)
|
2023-11-26 21:43:39 +08:00
|
|
|
|
# 是否开启 IP 代理
|
2023-12-09 00:06:57 +08:00
|
|
|
|
ENABLE_IP_PROXY = False
|
2023-12-08 00:10:04 +08:00
|
|
|
|
|
|
|
|
|
|
# 代理IP池数量
|
|
|
|
|
|
IP_PROXY_POOL_COUNT = 2
|
2023-06-27 23:38:30 +08:00
|
|
|
|
|
2024-04-05 10:44:05 +08:00
|
|
|
|
# 代理IP提供商名称
|
2025-08-01 01:05:11 +08:00
|
|
|
|
IP_PROXY_PROVIDER_NAME = "kuaidaili" # kuaidaili | wandouhttp
|
2024-04-05 10:44:05 +08:00
|
|
|
|
|
2024-05-12 23:28:50 +08:00
|
|
|
|
# 设置为True不会打开浏览器(无头浏览器)
|
|
|
|
|
|
# 设置False会打开一个浏览器
|
|
|
|
|
|
# 小红书如果一直扫码登录不通过,打开浏览器手动过一下滑动验证码
|
|
|
|
|
|
# 抖音如果一直提示失败,打开浏览器看下是否扫码登录之后出现了手机号验证,如果出现了手动过一下再试。
|
2024-05-23 22:15:14 +08:00
|
|
|
|
HEADLESS = False
|
2023-07-15 17:11:53 +08:00
|
|
|
|
|
2023-11-26 21:43:39 +08:00
|
|
|
|
# 是否保存登录状态
|
2023-07-24 20:59:43 +08:00
|
|
|
|
SAVE_LOGIN_STATE = True
|
2023-07-15 17:11:53 +08:00
|
|
|
|
|
2025-06-25 23:22:39 +08:00
|
|
|
|
# ==================== CDP (Chrome DevTools Protocol) 配置 ====================
|
|
|
|
|
|
# 是否启用CDP模式 - 使用用户现有的Chrome/Edge浏览器进行爬取,提供更好的反检测能力
|
|
|
|
|
|
# 启用后将自动检测并启动用户的Chrome/Edge浏览器,通过CDP协议进行控制
|
|
|
|
|
|
# 这种方式使用真实的浏览器环境,包括用户的扩展、Cookie和设置,大大降低被检测的风险
|
2025-10-18 07:40:10 +08:00
|
|
|
|
ENABLE_CDP_MODE = True
|
2025-06-25 23:22:39 +08:00
|
|
|
|
|
|
|
|
|
|
# CDP调试端口,用于与浏览器通信
|
|
|
|
|
|
# 如果端口被占用,系统会自动尝试下一个可用端口
|
|
|
|
|
|
CDP_DEBUG_PORT = 9222
|
|
|
|
|
|
|
|
|
|
|
|
# 自定义浏览器路径(可选)
|
|
|
|
|
|
# 如果为空,系统会自动检测Chrome/Edge的安装路径
|
|
|
|
|
|
# Windows示例: "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"
|
|
|
|
|
|
# macOS示例: "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
|
|
|
|
|
|
CUSTOM_BROWSER_PATH = ""
|
|
|
|
|
|
|
|
|
|
|
|
# CDP模式下是否启用无头模式
|
|
|
|
|
|
# 注意:即使设置为True,某些反检测功能在无头模式下可能效果不佳
|
|
|
|
|
|
CDP_HEADLESS = False
|
|
|
|
|
|
|
|
|
|
|
|
# 浏览器启动超时时间(秒)
|
2025-11-06 10:40:30 +08:00
|
|
|
|
BROWSER_LAUNCH_TIMEOUT = 60
|
2025-06-25 23:22:39 +08:00
|
|
|
|
|
|
|
|
|
|
# 是否在程序结束时自动关闭浏览器
|
|
|
|
|
|
# 设置为False可以保持浏览器运行,便于调试
|
|
|
|
|
|
AUTO_CLOSE_BROWSER = True
|
|
|
|
|
|
|
2025-07-14 03:50:54 +08:00
|
|
|
|
# 数据保存类型选项配置,支持四种类型:csv、db、json、sqlite, 最好保存到DB,有排重的功能。
|
2025-07-30 21:31:50 +08:00
|
|
|
|
SAVE_DATA_OPTION = "json" # csv or db or json or sqlite
|
2024-01-14 22:06:31 +08:00
|
|
|
|
|
2023-11-26 21:43:39 +08:00
|
|
|
|
# 用户浏览器缓存的浏览器文件配置
|
2023-07-15 17:11:53 +08:00
|
|
|
|
USER_DATA_DIR = "%s_user_data_dir" # %s will be replaced by platform name
|
|
|
|
|
|
|
2024-04-12 00:52:47 +08:00
|
|
|
|
# 爬取开始页数 默认从第一页开始
|
|
|
|
|
|
START_PAGE = 1
|
|
|
|
|
|
|
2023-11-26 21:43:39 +08:00
|
|
|
|
# 爬取视频/帖子的数量控制
|
2025-09-06 04:10:20 +08:00
|
|
|
|
CRAWLER_MAX_NOTES_COUNT = 15
|
2023-07-15 22:25:56 +08:00
|
|
|
|
|
2023-11-26 21:43:39 +08:00
|
|
|
|
# 并发爬虫数量控制
|
2025-07-14 08:00:48 +08:00
|
|
|
|
MAX_CONCURRENCY_NUM = 1
|
2023-11-18 13:38:11 +08:00
|
|
|
|
|
2025-07-30 18:24:08 +08:00
|
|
|
|
# 是否开启爬媒体模式(包含图片或视频资源),默认不开启爬媒体
|
2025-07-30 21:31:50 +08:00
|
|
|
|
ENABLE_GET_MEIDAS = False
|
2024-04-09 17:21:52 +08:00
|
|
|
|
|
2024-10-16 21:02:27 +08:00
|
|
|
|
# 是否开启爬评论模式, 默认开启爬评论
|
2024-10-20 00:59:08 +08:00
|
|
|
|
ENABLE_GET_COMMENTS = True
|
2023-11-18 13:38:11 +08:00
|
|
|
|
|
2024-10-22 20:33:10 +08:00
|
|
|
|
# 爬取一级评论的数量控制(单视频/帖子)
|
2025-07-14 08:00:48 +08:00
|
|
|
|
CRAWLER_MAX_COMMENTS_COUNT_SINGLENOTES = 10
|
2024-10-22 20:33:10 +08:00
|
|
|
|
|
2024-07-11 17:53:04 +08:00
|
|
|
|
# 是否开启爬二级评论模式, 默认不开启爬二级评论
|
2024-04-12 17:32:20 +08:00
|
|
|
|
# 老版本项目使用了 db, 则需参考 schema/tables.sql line 287 增加表字段
|
2024-08-08 14:19:32 +08:00
|
|
|
|
ENABLE_GET_SUB_COMMENTS = False
|
2024-04-11 17:16:13 +08:00
|
|
|
|
|
2024-08-08 14:19:32 +08:00
|
|
|
|
# 词云相关
|
|
|
|
|
|
# 是否开启生成评论词云图
|
2025-07-14 08:00:48 +08:00
|
|
|
|
ENABLE_GET_WORDCLOUD = False
|
2024-06-12 15:33:39 +08:00
|
|
|
|
# 自定义词语及其分组
|
2024-08-08 14:19:32 +08:00
|
|
|
|
# 添加规则:xx:yy 其中xx为自定义添加的词组,yy为将xx该词组分到的组名。
|
2024-06-12 15:33:39 +08:00
|
|
|
|
CUSTOM_WORDS = {
|
2024-11-26 13:37:53 +08:00
|
|
|
|
"零几": "年份", # 将“零几”识别为一个整体
|
|
|
|
|
|
"高频词": "专业术语", # 示例自定义词
|
2024-06-12 15:33:39 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2024-08-08 14:19:32 +08:00
|
|
|
|
# 停用(禁用)词文件路径
|
2024-06-12 15:33:39 +08:00
|
|
|
|
STOP_WORDS_FILE = "./docs/hit_stopwords.txt"
|
|
|
|
|
|
|
2024-08-08 14:19:32 +08:00
|
|
|
|
# 中文字体文件路径
|
|
|
|
|
|
FONT_PATH = "./docs/STZHONGS.TTF"
|
2025-07-18 23:26:52 +08:00
|
|
|
|
|
|
|
|
|
|
# 爬取间隔时间
|
|
|
|
|
|
CRAWLER_MAX_SLEEP_SEC = 2
|
|
|
|
|
|
|
|
|
|
|
|
from .bilibili_config import *
|
|
|
|
|
|
from .xhs_config import *
|
|
|
|
|
|
from .dy_config import *
|
|
|
|
|
|
from .ks_config import *
|
|
|
|
|
|
from .weibo_config import *
|
|
|
|
|
|
from .tieba_config import *
|
|
|
|
|
|
from .zhihu_config import *
|