Skip to content

hello-colin/wechat-spider

Repository files navigation

微信爬虫

以下为部署文档

技术文档请查看:https://t.zsxq.com/7ubmqNJ

逆向方式抓取的方案请查看:https://wx.zsxq.com/dweb2/index/topic_detail/215584212588541

功能:

  • 检测公众号每日新发文章
  • 抓取公众号信息
  • 抓取文章列表
  • 抓取文章信息
  • 抓取阅读量、点赞量、评论量
  • 抓取评论信息
  • 临时链接转永久链接

打包好的执行文件下载地址

链接: https://pan.baidu.com/s/1hyhj6YnV-L9w8LPx42FFzQ 密码: qnk6

特色:

  1. 免安装:支持mac、window,双击软件即可执行
  2. 自动化:只需要配置好待监控的公众号列表,启动软件后即可每日自动抓取公众号及文章等信息
  3. 好对接:抓取到的数据使用mysql存储,方便处理数据
  4. 不漏采:采用任务状态标记的方式,防止遗漏每一个公众号、每一篇文章
  5. 分布式:支持多个微信号同时采集,微信客户端支持Android、iphone、Mac、Window 全平台

数据示例

1. 公众号数据 -w829

2. 文章列表数据 -w1369

3. 文章数据 -w1466

4. 阅读点赞评论数据 -w623

5. 评论数据 -w1033

所需环境

  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

  1. 双击运行
  2. 安装到本地计算机
  3. 需要密钥时跳过
  4. 选择“将所有的证书都放入下列存储”,接着选择“受信任的根证书颁发机构”
  5. 最后,弹出警告窗口,直接点击“是”

3.4 mac

  1. 下载完双击安装
  2. 打开Keychain Access.app
  3. 选择login(Keychains)和Certificates(Category)中找到mitmproxy
  4. 点击mitmproxy,在Trust中选择Always Trust

4. 配置代理

如果使用手机,需要确保手机和运行wechat-spider的电脑连接在同一个路由器上

3.1 iphone

打开设置-无线局域网-所连接的Wifi-配置代理-手动 填上该安装服务器的IP和端口8080

3.2 android

打开设置-WLAN-长按所连接的网络-修改网络-高级选项-手动 填上该安装服务器的IP和端口8080

3.3 window

打开chrome 设置->高级 A580D0082CCEE0621F98FAF003C5530E 95AE10B3227FDE0637AB227A5A8267E3

3.4 mac

打开系统配置(System Preferences.app)- 网络(Network)- 高级(Advanced)- 代理(Proxies)- Secure Web Proxy(HTTPS) 填上该安装服务器的IP和端口8080

-w668 -w667

使用说明

python:3.7

1. 安装如上说明安装好证书及配置好代理

2. 正确配置config.yaml

主要是配置mysql及redis的链接信息,确保能正确链接上

3. 创建数据库 wechat

-w418

4. 启动wechat-spider

此步骤如果config里的auto_create_tables值为true时,会自动创建mysql数据表。建议首次启动时设置为true,创建完表后设置为false

5. 下发公众号任务

-w201 录入数据到wechat_account_task, 如: -w503 只填写__biz就好, 如:MzIxNzg1ODQ0MQ==

6. 点击任意一公众号,查看历史消息

-w637

当出现如上红框中的提示信息时,说明大功告成了,过一会可以去数据库里验证数据了

技术交流

若大家有什么疑问或指教,可加qq群,一起讨论问题。请备注微信爬虫学习交流

常见问题

1. mysql 链接问题

问题:链接时打印object supporting the buffer api required异常 解决: 如果密钥是整形的,如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

5. 正常启动后抓不到包

  1. 检是否设置代理
  2. 检查端口是否被占用

微信攒赏

开源项目不易,维护代码以及解决大家问题往往占据了大部分时间,为了保证内容持续输出,且本项目恰巧对您有帮助,还望多多支持哦(* ̄︶ ̄)。

可提供部署支持,答疑解惑(仅限打赏用户、提PR的开发者)。

微信: boris_tm

赞赏码

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •