ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

MediaCrawler 小红书抖音爬虫完整指南:如何从零跑通7平台数据抓取

MediaCrawler 小红书抖音爬虫完整指南:如何从零跑通7平台数据抓取 MediaCrawler 小红书抖音爬虫完整指南如何从零跑通7平台数据抓取【免费下载链接】MediaCrawler小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 评论爬虫、微博帖子 评论爬虫、百度贴吧帖子 百度贴吧评论回复爬虫 | 知乎问答文章评论爬虫项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawlerMediaCrawler 是一个开源社交媒体数据采集工具支持小红书、抖音、快手、B站、微博、百度贴吧、知乎 7 个平台可按关键词、按帖子、按创作者主页三种方式批量抓取笔记/视频内容及评论、二级评论结果可存成 JSON、CSV、Excel 或数据库。用它的多是负责选题、竞品监控、舆情分析的运营和产品以及不想自己逆向平台前端签名的开发者。核心技术思路一句话不逆向 X-S 这类签名算法而是用 Playwright 驱动真实浏览器完成登录和请求让签名参数在页面环境里直接产出——请求走的是真实浏览器行为平台很难把它和普通用户流量区分开。前置条件与首次运行5分钟跑通第一个采集任务开始前的检查清单依赖项版本要求为什么需要Python≥ 3.11项目pyproject.toml明确要求requires-python 3.11Node.jsv16 及以上抖音、知乎的签名逻辑通过 JS 脚本执行依赖本地 Node 环境Chrome 浏览器近期版本CDP 模式要复用你的真实浏览器登录态uv任意较新版本一条命令装全部依赖克隆仓库并安装依赖一共三条命令git clone https://gitcode.com/GitHub_Trending/me/MediaCrawler cd MediaCrawler uv sync接着开启 Chrome 远程调试地址栏输入chrome://inspect/#remote-debugging勾选 Allow remote debugging for this browser instance页面出现Server running at: 127.0.0.1:9222即就绪。因为ENABLE_CDP_MODE和CDP_CONNECT_EXISTING默认都是True程序会直接连接这个浏览器实例复用你的 Cookie、扩展和浏览历史被风控识别的概率比启动一个干净的 Playwright 浏览器低。不想每次手动开启的话看 CDP模式使用指南。然后运行python main.py首次运行弹出浏览器窗口扫码登录LOGIN_TYPE默认qrcode也支持phone手机号登录说明见 手机号登录说明。登录态会写入本地浏览器数据目录USER_DATA_DIR默认{平台名}_user_data_dir所以第二次起免扫码。项目还带一个 WebUI 控制台可以可视化配置任务和监控运行界面如下跑完后去data/目录看结果文件。配置速查表改 config/base_config.py 的这组开关就够所有通用配置集中在 config/base_config.py各平台专属列表在config/xhs_config.py、config/dy_config.py等文件里。按用途分组用途配置项默认值什么时候改取数方式PLATFORMxhs切平台时改取值 xhs/dy/ks/bili/wb/tieba/zhihu取数方式CRAWLER_TYPEsearch要抓指定帖子改detail抓主页改creator取数方式KEYWORDS编程副业,编程兼职search模式下填关键词多个用英文逗号分隔取数方式CRAWLER_MAX_NOTES_COUNT15需要更多条数时调大如 50评论深度ENABLE_GET_COMMENTSTrue只想要正文、不要评论时关掉能省请求评论深度CRAWLER_MAX_COMMENTS_COUNT_SINGLENOTES10单篇想抓更多评论时调大评论深度ENABLE_GET_SUB_COMMENTSFalse需要钻取二级评论时打开存储出口SAVE_DATA_OPTIONjsonl给人看改excel/csv长期跑同一批对象改sqlite/postgres入库自动建表、自带去重存储出口SAVE_DATA_PATH空即存到data/想换目录时填风控开关CRAWLER_MAX_SLEEP_SEC2秒大批量任务调大到 3~5 秒风控开关MAX_CONCURRENCY_NUM1稳定后再逐步上调别一上来就加并发风控开关ENABLE_IP_PROXYFalse量上来了再开配合IP_PROXY_PROVIDER_NAME选服务商登录态SAVE_LOGIN_STATETrue保持开启即可换账号时删除对应平台浏览器数据目录登录态HEADLESSFalse触发滑块验证时保持False才能手动过验证两个容易忽略的点词云开关ENABLE_GET_WORDCLOUD默认False且只在SAVE_DATA_OPTION为json/jsonl时才会在采集结束后生成停用词表是 docs/hit_stopwords.txt用法见 词云图使用配置媒体下载开关ENABLE_GET_MEDIA默认False只要元数据就别开省带宽和磁盘。各存储格式的差异见 数据存储指南。按目标取数你要什么数据就配哪组参数对号入座左列是目标中间是配置组合右列是产出你想拿到什么配置组合产出关键词下的小红书笔记PLATFORMxhs、CRAWLER_TYPEsearch、KEYWORDS填词data/里该词笔记列表标题、点赞收藏评论数、正文默认含一级评论指定几篇小红书笔记的完整数据CRAWLER_TYPEdetail把带xsec_token的完整 URL 填进 config/xhs_config.py 的XHS_SPECIFIED_NOTE_URL_LIST单篇完整字段 评论URL 直接从浏览器地址栏复制某创作者的全部笔记CRAWLER_TYPEcreator主页 URL 填进XHS_CREATOR_ID_LIST该创作者发布过的笔记及数据抖音视频内容PLATFORMdyDY_SPECIFIED_ID_LIST支持完整 URL、分享短链、纯视频 ID 三种填法视频正文 评论签名依赖 Node.jsB站账号更新节奏PLATFORMbili、CRAWLER_TYPEcreator空间主页 URL 或 UID 填进 config/bilibili_config.py 的BILI_CREATOR_ID_LIST账号视频列表还可用START_DAY/END_DAY限定时间范围知乎问答/文章PLATFORMzhihuZHIHU_SPECIFIED_ID_LIST支持回答、专栏、视频三类 URL回答/文章正文 评论快手KS_SPECIFIED_ID_LIST/KS_CREATOR_ID_LIST、微博WEIBO_SPECIFIED_ID_LIST/WEIBO_CREATOR_ID_LIST、贴吧TIEBA_NAME_LIST/TIEBA_CREATOR_URL_LIST填法相同都是列表 对应 CRAWLER_TYPE。如何设置才不被风控四个决策点按顺序过一遍风控问题本质是频率、身份、IP三个维度的取舍按这个顺序做决策先压频率。CRAWLER_MAX_SLEEP_SEC默认 2 秒大批量任务调大到 3~5 秒。代价是总耗时变长换来的是账号安全这是最便宜的一道保险。并发保持 1。MAX_CONCURRENCY_NUM默认 1稳定运行后再考虑上调——盲目加并发是触发风控最常见的原因之一。登录态尽量复用。SAVE_LOGIN_STATE保持TrueCDP_CONNECT_EXISTING保持True让每次请求都带着真实浏览器的登录身份出现。已经触发风控时把HEADLESS设为False重启手动过一次滑块仍不行就删除该平台的浏览器数据目录、换一个账号重新登录。量大就上代理池。ENABLE_IP_PROXY默认False需要批量长期跑时开启IP_PROXY_PROVIDER_NAME支持kuaidaili、wandouhttp、static三种取值。proxy/ 目录下的 IP 池启动时从服务商拉一批 IP、逐个验证可用性后随机轮换失效自动补新把风险从单账号单 IP 上分散掉。服务商的用户名密码通过环境变量传入配置方法见 代理使用文档故障自查现象 → 最可能原因 → 处理顺序现象最可能原因处理顺序小红书扫码后反复弹滑块请求被识别为脚本① 确认ENABLE_CDP_MODE与CDP_CONNECT_EXISTING均为True②HEADLESSFalse重启后手动过滑块 ③ 删除平台浏览器数据目录重新登录execjs ProgramError等 JS 报错抖音、知乎本地没有 Node.js 环境① 检查 Node.js 是否 v16 及以上 ② 未装则安装后重启终端再跑之前正常突然抓不到数据或报错账号触发平台风控① 调大CRAWLER_MAX_SLEEP_SEC② 减小单次采集条数 ③ 开启代理池 ④ 删浏览器数据目录换账号TimeoutError或连不上 9222 端口远程调试没开或浏览器被关① 确认 Chrome 处于打开状态 ② 回chrome://inspect/#remote-debugging确认已勾选 ③ 确认页面显示127.0.0.1:9222④ 浏览器弹确认框时点接受程序会等待约 60 秒 ⑤ 仍超时先查本地网络/代理设置更多情况见 常见问题。接下来按顺序做这 3 件事先跑通最小闭环PLATFORMxhs、CRAWLER_TYPEsearch、SAVE_DATA_OPTIONjsonl不改其他项确认data/里生成的文件字段齐全、评论抓到了。再对号入座改配置按按目标取数一节的表切换到你的目标平台和CRAWLER_TYPE需要更多条数时把CRAWLER_MAX_NOTES_COUNT从默认 15 调大。最后做风控保障长期跑的对象改存sqlite/postgres利用入库去重任务量上来后开启ENABLE_IP_PROXY并调大CRAWLER_MAX_SLEEP_SEC让采集能持续跑而不是跑两天就死号。【免费下载链接】MediaCrawler小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 评论爬虫、微博帖子 评论爬虫、百度贴吧帖子 百度贴吧评论回复爬虫 | 知乎问答文章评论爬虫项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表