ARTICLE DETAIL

资讯详情

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

社交媒体数据采集完整指南:用MediaCrawler免费抓取五大平台公开内容

社交媒体数据采集完整指南:用MediaCrawler免费抓取五大平台公开内容 社交媒体数据采集完整指南用MediaCrawler免费抓取五大平台公开内容【免费下载链接】MediaCrawler-new项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler-new还在为收集小红书、抖音、快手、B站、微博的公开数据熬夜加班吗MediaCrawler是一款开源的社交媒体数据采集工具一条命令就能替你完成关键词搜索、帖子抓取、评论归档这些重复劳动。想象一下你只需要在终端敲下一行命令、用手机扫一次码程序就会自动打开浏览器逐条翻页把成百上千条内容整整齐齐写进表格——而你可以腾出手去思考真正重要的问题。这份指南会按照先看清能力、再动手安装、然后跑通、最后进阶的节奏展开文中所有命令与配置均基于真实项目源码照着敲就能跑通。 先看清全貌这一个工具能替你抓回哪些数据MediaCrawler 覆盖五大主流平台抓取内容涵盖视频、图片、评论、点赞、转发、收藏等信息。它不是逐平台拼凑的半个轮子而是围绕统一接口设计的整体方案——五个平台的调用方式完全一致学会一个就等于学会五个。手工采集的典型痛点与项目给出的解法可以对照这张表看手工采集的痛点MediaCrawler 的对应解法平台加密参数复杂逆向成本极高用 Playwright 接管真实浏览器免去复现加密 JS请求频繁导致 IP 被封内置代理IP池自动轮换、过期回收登录验证环节繁琐二维码 / 手机号 / Cookie 三种方式登录状态自动缓存数据结构五花八门统一字段定义输出 json / csv / 数据库三种格式各平台的完整能力矩阵如下平台二维码登录关键词搜索指定ID爬取创作者主页数据保存IP代理池小红书✅✅✅✅✅✅抖音✅✅✅✕✅✅快手✅✅✅✕✅✅B站✅✅✅✕✅✅微博✅✅✅✕✅✅其中创作者主页追踪目前仅开放给小红书而B站额外支持视频批量下载这两项会在进阶章节单独演示。 环境搭建不迷路虚拟环境、依赖库与浏览器驱动一次装齐整个安装过程只需要四条命令建议使用 Python 3.9 及以上版本。# 1. 把项目拉到本地 git clone https://gitcode.com/GitHub_Trending/me/MediaCrawler-new cd MediaCrawler-new # 2. 创建并激活虚拟环境避免污染全局环境 python -m venv venv # Linux / macOS 激活 source venv/bin/activate # Windows 激活 venv\Scripts\activate # 3. 安装项目依赖 pip install -r requirements.txt # 4. 安装 Playwright 的浏览器驱动爬虫运行的基础 playwright install每一步的预期效果第 2 步完成后命令行提示符前会出现(venv)前缀第 3 步末尾出现Successfully installed ...第 4 步会自动下载 Chromium 内核看到Download completed即算完成。小提示只有开启代理IP池或选择数据库存储时才需要额外准备 Redis 与 MySQL。默认的 json / csv 模式不依赖任何外部服务。 第一次跑通采集从扫码登录到生成数据文件环境就绪后先跑一个最经典的组合——用关键词搜索抓取小红书内容python main.py --platform xhs --lt qrcode --type search参数说明--platform选目标平台xhs / dy / ks / bili / wb--lt选登录方式qrcode / phone / cookie--type选采集类型search / detail / creator。整个流程会这样发生程序自动打开一个浏览器窗口窗口内展示登录二维码用手机小红书 App 扫码确认程序按config/base_config.py中KEYWORDS设定的关键词逐条搜索终端滚动输出每条内容的抓取日志结束后在data/目录找到生成的 json 文件帖子连同点赞、评论、作者信息都记录在案。如果不想每次都被浏览器窗口打扰把配置文件中的HEADLESS设为True程序就会安静地在后台运行。⚙️ 摸清配置文件几个开关决定采集的深度与广度项目的灵魂在config/base_config.py读懂它你就握住了采集的方向盘PLATFORM xhs # 目标平台xhs / dy / ks / bili / wb KEYWORDS python,golang # 搜索关键词多个用英文逗号分隔 LOGIN_TYPE qrcode # 登录方式qrcode / phone / cookie CRAWLER_TYPE search # 采集类型search / detail / creator CRAWLER_MAX_NOTES_COUNT 20 # 单次采集条数上限 MAX_CONCURRENCY_NUM 4 # 并发数量调高提速、调低更稳 ENABLE_GET_COMMENTS False # 设为 True 后连同评论一起抓取 SAVE_DATA_OPTION json # 数据保存方式json / csv / db三种保存方式怎么选json 结构完整、适合程序化处理是默认推荐csv 可直接用 Excel 打开适合快速浏览db 适合大规模入库需在config/db_config.py配置 MySQL 连接。想抓评论就把ENABLE_GET_COMMENTS改成True想多抓就把CRAWLER_MAX_NOTES_COUNT调大改完重启命令即生效。️ 进阶玩法一给爬虫装上分身术用代理IP池稳住长跑连续大批量采集时同一 IP 的请求频率很容易触发平台风控。MediaCrawler 内置的代理IP池会在池内轮换出口 IP把风险摊薄到多个地址上。下图展示了从拉取 IP 到建成池子的完整链路![MediaCrawler数据采集代理IP池化流程图](https://raw.gitcode.com/GitHub_Trending/me/MediaCrawler-new/raw/387f08701788e8e626b688ecf6ef50f669a80b75/static/images/代理IP 流程图.drawio.png?utm_sourcegitcode_repo_files)从IP服务商拉取→写入Redis缓存→构建代理池→按需取出全程自动化启用方式同样简单两行配置即可ENABLE_IP_PROXY True # 开启代理IP功能 IP_PROXY_POOL_COUNT 5 # 代理池容量按采集量调整代理 IP 由第三方服务商提供项目内置了极速HTTP的实现。去服务商官网注册后拿到key和crypto两个凭证在后台选择 IP 数量、使用时长与协议类型即可生成带密钥的 API 链接拿到凭证后推荐通过环境变量注入避免把密钥写死在代码里# proxy/proxy_ip_provider.py 中通过环境变量读取密钥 key os.getenv(jisu_key, ) # 提取 key 值 crypto os.getenv(jisu_crypto, ) # 加密签名密钥不落盘用环境变量动态注入兼顾安全与灵活代理池的实现细节也很讲究每次拉取的 IP 连同过期时间一起写进 Redis到期自动失效回收再次请求时优先复用池内未过期的 IP数量不足才向服务商补充。容量参考轻度使用 2-3 个、中度 5-10 个、重度可放宽到 10 个以上并考虑住宅代理。 进阶玩法二按ID定点采集与创作者主页追踪关键词搜索解决广撒网定点采集解决精准捞。把CRAWLER_TYPE改为detail程序就只抓取指定 ID 的帖子非常适合对某条爆款做深挖# 各平台的指定ID列表填入即可定向采集 XHS_SPECIFIED_ID_LIST [6422c2750000000027000d88, ...] DY_SPECIFIED_ID_LIST [7280854932641664319, ...] BILI_SPECIFIED_ID_LIST [BV1d54y1g7db, ...]把CRAWLER_TYPE改为creator并填写XHS_CREATOR_ID_LIST就能持续追踪某位小红书创作者的动态自动抓取其主页发布的新笔记——对竞品账号监测、达人筛选非常实用。如果你在使用 B 站还可以切换到download_video采集类型把指定 BVID 的视频文件批量下载到本地./video/目录素材收集一步到位。 三种身份的真实用法分析师、创作者与研究者的落地清单身份一市场分析师用关键词评论摸清产品口碑配置KEYWORDS 粉底液,遮瑕膏,口红打开ENABLE_GET_COMMENTSSAVE_DATA_OPTION设为csv运行关键词搜索得到带评论文本的表格按情感倾向、提及频次做交叉分析定位用户真实槽点与爽点。身份二内容创作者用热度数据反推选题方向抓取抖音目标赛道近期热门视频CRAWLER_MAX_NOTES_COUNT调大到 50对比点赞、评论、转发的分布规律找出高赞低评与低赞高评的内容类型围绕高互动特征优化自己的选题与封面文案。身份三学术研究者用微博数据做舆情观察把研究话题写入KEYWORDS登录方式选择 Cookie 避免频繁扫码采集一段时间窗口内的公开讨论文本结合发布时间、用户身份等字段做传播路径与情感分析。⚠️ 从报错到解决新手最容易卡住的四个环节Q1扫码后一直提示登录失败检查网络是否稳定尝试删除browser_data目录下的缓存后重新登录如果反复失败可以改用 Cookie 登录方式。Q2跑完发现一条数据都没抓到先确认KEYWORDS非空且拼写正确再检查CRAWLER_MAX_NOTES_COUNT是否被意外设为 0最后留意终端日志中是否有平台返回的访问限制提示。Q3采集速度太慢有没有提速手段适当调大MAX_CONCURRENCY_NUM提升并发开启代理IP池分散请求压力尽量避开平台晚间高峰时段运行。Q4抖音采集时弹出滑块验证把HEADLESS改为False让浏览器窗口可见手动通过一次滑块验证后再继续后续会话会记住该状态。 两条获取支持的路径与项目接下来的规划遇到文档没覆盖的报错建议先翻阅项目自带的说明项目代码结构、常见问题、手机号登录说明。动手改代码前先读一遍main.py的入口逻辑和config/base_config.py的配置注释大部分疑问都能在这两个文件里找到答案。项目仍在持续迭代社区规划的方向包括接入更多国际平台如 Instagram、Twitter的采集能力基于机器学习优化采集频率与内容筛选内置数据分析与可视化模块支持一键部署到云端并提供 RESTful API 供外部系统调用。✅ 四步行动清单与合规提醒记住工具只是起点真正有价值的是你用它沉淀下来的洞察与判断。如果想立刻开始按下面四步走克隆仓库git clone https://gitcode.com/GitHub_Trending/me/MediaCrawler-new按环境搭建一节完成安装用python main.py --help验证命令可用先用小红书关键词搜索跑通第一次采集观察data/目录的输出再按需开启评论、代理池、定点采集等进阶能力形成自己的采集方案。最后请务必注意请遵守相关法律法规与各平台的服务条款仅将本项目用于合法的学习与研究目的不采集非公开数据不用于商业或任何侵害他人权益的场景。尊重数据隐私共同维护良好的网络生态。【免费下载链接】MediaCrawler-new项目地址: https://gitcode.com/GitHub_Trending/me/MediaCrawler-new创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表