# WechatSpider
**Repository Path**: freespace521/WechatSpider
## Basic Information
- **Project Name**: WechatSpider
- **Description**: 抓取微信公众号全部文章,采用AnyProxy+Javascript+Java实现
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 65
- **Created**: 2021-07-08
- **Last Updated**: 2021-07-08
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# WechatSpider
抓取微信公众号全部文章,采用AnyProxy+JS+Java实现
# 启动项目
```
// 克隆项目到本地
git clone https://gitee.com/poet/WechatSpider.git
// 修改`WechatSpider/src/main/resources/application.properties`对的数据库地址
vim ~/WechatSpider/src/main/resources/application.properties
// 修改完成后打包
cd ~/WechatSpider && mvn clean install -Dmaven.test.skip=true
// 安装`AnyProxy`
npm install -g anyproxy
// 安装npm插件
cd ~/WechatSpider/src/main/resources && npm install
// 运行`AnyProxy`
anyproxy --intercept --silent true --rule ~/WechatSpider/src/main/resources/spider.js
// 运行项目
cd ~/WechatSpider
java -jar target/WechatSplider-1.0-SNAPSHOT.jar
```
# 安装AnyProxy的RootCA, 手机扫描安装信任
# 代理设置如下图,host填写启动服务的IP地址
# 使用
1. 打开微信的公众号,`查看历史信息`自动下拉翻滚抓取所有文章列表数据
2. 文章列表数据抓取完毕后,点击任何一篇文章,打开文章后会抓取文章内容、阅读量、点赞量,评论等数据,10后自动跳转到下一篇文章的抓取,直到抓取完毕
# 功能概述
1. `查看历史消息` 数据全部自动下拉滚动抓取
2. `文章内容`、`点赞量`,`阅读量`,`评论数及内容` 等 已能抓取到,已实现自动跳到下一个文章抓取
3. 优化网络请求,图片请求换成
# 抓取配置
```
// 抓取js
vim ~/WechatSpider/src/main/resources/splider.js
// 规则配置
var config = {
host: 'http://127.0.0.1:8080', // 服务器地址配置
crawlHistory: true, // 是否采集列表历史数据
crawlArticle: true, // 是否采集文章数据
crawlComment: true, // 是否采集评论数据
crawlLikeReadNum: true, // 是否采集文章的阅读量及点赞量
autoNextScroll: true, // 是否自动下拉采取数据
autoNextPage: true, // 是否自动文章翻页
autoPostData: true, // 是否提交数据到服务器
m: 3000, // 自动下拉的时间间隔 m ~ n 秒之间
n: 5000,
jumpInterval: 10, // 文章页跳转的时间间隔
saveContentType: 'html',// 微信文章保存内容的形式: html/text
localImg: true // 公众号的图片返回本地图片
}
```
# 原理图
# 参考资料
1. http://anyproxy.io/cn
2. https://github.com/lqqyt2423/wechat_spider
3. http://www.cnblogs.com/luojiangwen/p/7943696.html
4. https://gitee.com/zsyoung01/AnyProxy