项目简介
本项目是基于Python的微信公众号爬虫系统,通过模拟手机微信客户端请求,批量爬取微信公众号文章内容。抓包获取微信历史文章分页接口,避免了传统方案文章不全、账号被封等问题,且支持多微信账号切换,能高效爬取大量文章。
项目的主要特性和功能
- 自动化微信操作:借助ADB与模拟器配合,自动化操作微信客户端,模拟搜索公众号、阅读文章等用户行为。
- 多公众号支持:可同时爬取多个微信公众号内容,提升爬取效率。
- 数据持久化存储:将爬取的文章内容存储在MongoDB数据库,便于后续分析处理。
- 动态代理支持:使用动态代理IP,避免频繁请求被封禁,提高爬取稳定性。
- 模块化设计:项目分为任务生成、代理拦截、爬虫执行等多个模块,便于扩展和维护。
安装使用步骤
环境准备
- 安装Genymotion模拟器:
- 下载安装Genymotion模拟器,选择Custom Phone API 8.0版本。
- 安装ARM_Translation_Oreo和微信6.7.3版本。
- 配置ADB路径,确保模拟器正常启动。
- 安装依赖库:
- 安装Python 3.6.8及以上版本。
- 安装项目所需Python库:
bash pip install pymongo redis scrapy baidu-aip Pillow numpy
- 安装Node.js 8.16.1及以上版本,并全局安装AnyProxy:
bash npm install -g anyproxy
- 配置数据库:安装并启动MongoDB和Redis数据库。
项目配置
- 修改配置文件:
- 在
/weixin_articles_spider/configs/auth.py
中配置百度API的密钥。 - 在
/weixin_articles_spider/assets/fakenames.conf
中添加要爬取的微信公众号ID。
- 在
- 启动代理:
- 进入
/weixin_articles_spider/proxy
目录,启动AnyProxy:bash npm install node proxy.js
- 进入
- 生成任务:
- 进入
/weixin_articles_spider/biz
目录,运行任务生成脚本:bash python main.py
- 进入
- 启动爬虫:
- 进入
/weixin_articles_spider/android_scrapy
目录,启动爬虫:bash python main.py
- 进入
- 启动模拟器操作:
- 进入
/weixin_articles_spider/android
目录,启动模拟器操作脚本:bash python main.py
- 进入
- 等待爬取完成:
- 爬取完成后,进入
/weixin_articles_spider/android_scrapy
目录,运行文章爬虫:bash scrapy crawl ArticleSpider
- 爬取结果将存储在
/weixin_articles_spider/android_scrapy/output
目录中。
- 爬取完成后,进入
注意事项
- 遵守法律法规,尊重微信公众号版权和隐私。
- 控制爬取频率,避免短时间内大量请求。
- 使用动态代理IP时,注意其有效性。
- 确保模拟器环境配置正确,微信版本为6.7.3。
项目架构TODO
- 支持分布式数据库存储,满足大数据量的存储和查询。
- 提供Web管理界面,方便用户管理和监控爬虫运行。
- 实现消息通知机制,如爬取完成后的邮件通知。
本项目仅供学习和研究使用,请勿用于商业用途或侵犯他人权益。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】