Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/striver-ing/wechat-spider
开源微信爬虫:爬取公众号所有 文章、阅读量、点赞量和评论内容。易部署。持续维护!!!
https://github.com/striver-ing/wechat-spider
Last synced: 20 days ago
JSON representation
开源微信爬虫:爬取公众号所有 文章、阅读量、点赞量和评论内容。易部署。持续维护!!!
- Host: GitHub
- URL: https://github.com/striver-ing/wechat-spider
- Owner: striver-ing
- Created: 2017-11-23T03:53:15.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-03-31T14:36:41.000Z (over 1 year ago)
- Last Synced: 2024-10-01T21:24:03.031Z (about 1 month ago)
- Topics: wechat
- Language: Python
- Homepage:
- Size: 2.57 MB
- Stars: 2,364
- Watchers: 67
- Forks: 597
- Open Issues: 53
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-hacking-lists - striver-ing/wechat-spider - 开源微信爬虫:爬取公众号所有 文章、阅读量、点赞量和评论内容。易部署。持续维护!!! (Python)
README
# 微信爬虫
以下为部署文档
技术文档请查看:[https://t.zsxq.com/7ubmqNJ](https://t.zsxq.com/7ubmqNJ)
逆向方式抓取的方案请查看:[https://wx.zsxq.com/dweb2/index/topic_detail/215584212588541](https://wx.zsxq.com/dweb2/index/topic_detail/215584212588541)
## 功能:
- [x] 检测公众号每日新发文章
- [x] 抓取公众号信息
- [x] 抓取文章列表
- [x] 抓取文章信息
- [x] 抓取阅读量、点赞量、评论量
- [x] 抓取评论信息
- [x] 临时链接转永久链接打包好的执行文件下载地址
链接: https://pan.baidu.com/s/1hyhj6YnV-L9w8LPx42FFzQ 密码: qnk6
## 特色:
1. **免安装**:支持mac、window,双击软件即可执行
2. **自动化**:只需要配置好待监控的公众号列表,启动软件后即可每日自动抓取公众号及文章等信息
3. **好对接**:抓取到的数据使用mysql存储,方便处理数据
4. **不漏采**:采用任务状态标记的方式,防止遗漏每一个公众号、每一篇文章
5. **分布式**:支持多个微信号同时采集,微信客户端支持Android、iphone、Mac、Window 全平台## 数据示例
**1. 公众号数据**
![-w829](media/15584541954959.jpg)**2. 文章列表数据**
![-w1369](media/15584542414888.jpg)**3. 文章数据**
![-w1466](media/15584545518249.jpg)**4. 阅读点赞评论数据**
![-w623](media/15584546784023.jpg)**5. 评论数据**
![-w1033](media/15584547028361.jpg)## 所需环境
1. mysql:用来存储抓取到的数据以及任务表
2. redis:任务缓存,减少操作mysql的次数## 安装配置
> 以下安装说明安需查看,仅作为参考。因每个人环境不同,可能安装会有些差异,可参考网上的资料
### 1. 安装mysql
#### 1.1 window
#### 1.2 mac
### 2. 安装redis
#### 2.1 window
#### 2.2 mac
### 3. 安装证书可用浏览器访问 mitm.it 然后下载,或者百度如何安装mitmproxy证书
#### 3.1 iphone
1. 下载安装完毕后别忘记最后一步
2. 打开设置-通用-关于本机-证书信任设置
3. 开启mitmproxy选项。#### 3.2 android
1. 安装完毕检查
2. 打开设置-安全-信任的凭据
3. 查看安装的证书是否存在#### 3.3 window
2. 双击运行
3. 安装到本地计算机
4. 需要密钥时跳过
5. 选择“将所有的证书都放入下列存储”,接着选择“受信任的根证书颁发机构”
6. 最后,弹出警告窗口,直接点击“是”#### 3.4 mac
2. 下载完双击安装
3. 打开Keychain Access.app
4. 选择login(Keychains)和Certificates(Category)中找到mitmproxy
5. 点击mitmproxy,在Trust中选择Always Trust### 4. 配置代理
> 如果使用手机,需要确保手机和运行wechat-spider的电脑连接在同一个路由器上
#### 3.1 iphone
打开设置-无线局域网-所连接的Wifi-配置代理-手动
填上该安装服务器的IP和端口8080#### 3.2 android
打开设置-WLAN-长按所连接的网络-修改网络-高级选项-手动
填上该安装服务器的IP和端口8080#### 3.3 window
打开chrome 设置->高级
![A580D0082CCEE0621F98FAF003C5530E](media/A580D0082CCEE0621F98FAF003C5530E.png)
![95AE10B3227FDE0637AB227A5A8267E3](media/95AE10B3227FDE0637AB227A5A8267E3.png)#### 3.4 mac
打开系统配置(System Preferences.app)- 网络(Network)- 高级(Advanced)- 代理(Proxies)- Secure Web Proxy(HTTPS)
填上该安装服务器的IP和端口8080![-w668](media/15584581938431.jpg)
![-w667](media/15584582326072.jpg)## 使用说明
### 1. 安装如上说明安装好证书及配置好代理
### 2. 正确配置config.yaml主要是配置mysql及redis的链接信息,确保能正确链接上
### 3. 创建数据库 wechat
![-w418](media/15610827417503.jpg)
### 4. 启动wechat-spider
此步骤如果config里的auto_create_tables值为true时,会自动创建mysql数据表。建议首次启动时设置为true,创建完表后设置为false
### 5. 下发公众号任务![-w201](media/15584578582622.jpg)
录入数据到wechat_account_task, 如:
![-w503](media/15584579051963.jpg)
只填写__biz就好, 如:MzIxNzg1ODQ0MQ==### 6. 点击任意一公众号,查看历史消息
![-w637](media/15584585019970.jpg)
当出现如上红框中的提示信息时,说明大功告成了,过一会可以去数据库里验证数据了
技术交流
----
若大家有什么疑问或指教,可加qq群,一起讨论问题。请备注`微信爬虫学习交流`## 常见问题
### 1. mysql 链接问题
问题:链接时打印object supporting the buffer api required异常
![](media/15610832298058.jpg)
解决: 如果密钥是整形的,如123456,需要在配置文件中加双引号,如下:mysqldb:
ip: localhost
port: 3306
db: wechat
user: root
passwd: "123456"
auto_create_tables: true # 是否自动建表 建议当表不存在是设置为true,表存在是设置为false,加快软件启动速度### 2. 正确配置完代理后提示证书或安全问题
原因是我那个证书失效了,可参考 https://www.cnblogs.com/yunlongaimeng/p/9617708.html 安装数据
### 3. 提示无任务
检查 wechat_account_task 表中是否下发了__biz。可多下发几个测试
### 4. Exception:DISCARD without MULTI
![-w406](media/15632498867519.jpg)
### 5. 正常启动后抓不到包
1. 检是否设置代理
2. 检查端口是否被占用## 微信攒赏
开源项目不易,维护代码以及解决大家问题往往占据了大部分时间,为了保证内容持续输出,且**本项目恰巧对您有帮助**,还望多多支持哦(* ̄︶ ̄)。
可提供部署支持,答疑解惑(仅限打赏用户、提PR的开发者)。
微信: boris_tm
![赞赏码](media/%E8%B5%9E%E8%B5%8F%E7%A0%81.png)