尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

MediaCrawler 多平台采集:从装环境到跑通

MediaCrawler 多平台采集:从装环境到跑通 MediaCrawler 多平台采集从装环境到跑通【免费下载链接】MediaCrawler小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 评论爬虫、微博帖子 评论爬虫、百度贴吧帖子 百度贴吧评论回复爬虫 | 知乎问答文章评论爬虫项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler你需要把小红书上一个话题下的笔记连同评论批量拿下来做分析手动复制粘贴效率太低还经常漏。MediaCrawler 是一个多平台自媒体数据采集工具覆盖小红书、抖音、快手、B站、微博、贴吧、知乎 7 个平台基于 Playwright 和浏览器登录态工作不需要你去逆向各家的加密签名参数。这篇文章带你走完装好依赖→配好浏览器→改几个配置→跑通第一次采集这条最短路径再讲清楚代理、频率和存储怎么配才稳。 装依赖把第一次采集跑通先克隆仓库并安装依赖git clone https://gitcode.com/GitHub_Trending/me/MediaCrawler cd MediaCrawler uv sync项目默认走 CDP 模式也就是接管你自己日常使用的 Chrome这样浏览器指纹、Cookie、扩展都是真实的比无头浏览器不容易触发风控。准备步骤只有两个Chrome 升到 144 以上版本地址栏输入chrome://version可查地址栏输入chrome://inspect/#remote-debugging勾选 Allow remote debugging for this browser instance看到 9222 端口提示即就绪更完整的说明见 CDP模式使用指南。然后改 config/base_config.py 里真正要动的几个字段其余全部保持默认PLATFORM xhs # 要采集的平台 KEYWORDS 咖啡探店 # 搜索关键词英文逗号分隔 CRAWLER_TYPE search # search 关键词 / detail 指定帖子 / creator 创作者主页 CRAWLER_MAX_NOTES_COUNT 20 # 最多采集的帖子数 SAVE_DATA_OPTION jsonl # 存储格式默认 jsonl运行uv run main.py --platform xhs --lt qrcode --type search命令行参数会覆盖配置文件里的同名项所以调参时改哪边都行。首次运行会拉起浏览器扫码登录后自动保存登录态SAVE_LOGIN_STATE默认开启之后的运行就直接复用数据落在data/目录下。 三种玩法搜索、盯帖、盯人配置里只有一行CRAWLER_TYPE决定采集模式--type命令行参数同理三种模式的区别如下模式你输入什么采到什么关键配置项searchKEYWORDS关键词关键词命中的帖子列表 每帖评论CRAWLER_MAX_NOTES_COUNT、CRAWLER_MAX_COMMENTS_COUNT_SINGLENOTESdetail帖子链接列表指定帖子的详情和评论ENABLE_GET_COMMENTS、ENABLE_GET_SUB_COMMENTS二级评论默认关creator博主主页链接该博主的头像昵称等主页数据 近期发帖CRAWLER_MAX_NOTES_COUNT三个补充点想要视频或图片素材把ENABLE_GET_MEIDAS改成True默认只采元数据不下载媒体文件评论默认开ENABLE_GET_COMMENTS True单帖一级评论条数由CRAWLER_MAX_COMMENTS_COUNT_SINGLENOTES控制想要评论词云把ENABLE_GET_WORDCLOUD打开仅 json/jsonl 存储模式下生效️ 把采集跑稳代理、频率、存储代理池的工作机制把ENABLE_IP_PROXY改成True开启代理同时指定服务商IP_PROXY_PROVIDER_NAMEkuaidaili快代理、wandouhttp豌豆HTTP、static静态代理和池大小IP_PROXY_POOL_COUNT。工作机制是这样的启动时按池大小向服务商拉一批 IP 存进内存池每次请求前随机抽一个用完即从池中移除抽到的 IP 会先通过一个测试地址验证连通性不通就换IP 带有效期is_current_proxy_expired会按过期时间提前缓冲判断过期或请求连续失败时自动重新拉取一批。static模式则直接把STATIC_PROXY_URL填成http://用户:密码地址:端口这种固定代理。服务商的密钥不写在配置文件里而是读环境变量大小写均可以豌豆HTTP为例是WANDOU_APP_KEY快代理是KDL_SECERT_ID/KDL_SIGNATURE/KDL_USER_NAME/KDL_USER_PWD具体读取逻辑在 proxy/providers/ 目录。拿 IP 用的账密和提取 API 长这样请求间隔怎么设控制频率的核心是CRAWLER_MAX_SLEEP_SEC默认 2 秒表示每次请求间随机等待 0 到 2 秒。小批量几十条保持 2 秒就够量大或目标平台风控严时调到 3-5 秒配合代理一起用。并发数MAX_CONCURRENCY_NUM默认 1不建议一开始就调大——并发越高IP 消耗越快登录态也越容易被平台判定异常。存储格式怎么选SAVE_DATA_OPTION可选csv、json、jsonl、excel、sqlite、dbMySQL、postgres文件类格式都落在data/目录jsonl默认每行一个 JSON 对象追加写入性能好适合自己用脚本二次处理csv结构最简单的表格快速查看够用excel带格式的多工作表内容、评论、创作者分开适合直接发给人分析sqlite/db/postgres入库前先跑uv run main.py --init_db sqlite初始化建表数据库方式自带去重适合同一批任务反复跑的场景各平台的落盘逻辑在 store/ 目录按平台拆分想加自定义存储可以从这里入手。存储方式的完整示例见 data_storage_guide。 卡住了怎么办三个最高频的问题都按现象→原因→两步排查处理。问题登录态失效总是跳回扫码页现象上次还好好的今天一运行又弹出二维码或者扫码后提示失败。最可能的原因是 Cookie 过期或无头模式下没通过滑块验证。两步排查第一把HEADLESS保持False让浏览器有界面手动滑一次滑块再让它保存登录态第二如果反复失效改用 CDP 连接你自己天天在用的 Chrome默认配置CDP_CONNECT_EXISTING True已开真实浏览器的登录状态基本不会突然失效具体步骤看 CDP模式使用指南。问题代理池空了日志反复报错拉不到 IP现象开了代理后启动日志里出现获取 IP 失败、然后不停重试。最可能的原因是环境变量没配或服务商额度用尽。两步排查第一确认对应的环境变量真的导入了比如WANDOU_APP_KEY而不是还留着配置里的your_wandou_http_app_key占位值第二登录服务商后台核对 API 额度与有效期额度为 0 时拉取必然为空。问题数据能采到但某个字段是空的现象jsonl 文件里某列比如作者粉丝数、点赞数全是 null。最可能的原因是平台接口字段改版解析规则对不上。两步排查第一翻运行日志里打印的原始响应确认接口里到底还有没有这个字段第二定位到 media_platform/ 目录下对应平台的field.py那里集中了字段名到数据模型的映射按实际响应改字段名即可。写在最后采集频率请控制在合理范围数据仅用于学习和研究项目 LICENSE 是明确禁止商业用途的。想继续深入建议直接读三个地方docs/ 目录下的常见问题、CDP 与存储指南media_platform/ 里各平台的 API 客户端实现以及 proxy/ 目录的代理池源码。【免费下载链接】MediaCrawler小红书笔记 | 评论爬虫、抖音视频 | 评论爬虫、快手视频 | 评论爬虫、B 站视频 评论爬虫、微博帖子 评论爬虫、百度贴吧帖子 百度贴吧评论回复爬虫 | 知乎问答文章评论爬虫项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表