# WeChat_Article **Repository Path**: cwbqiuyu/WeChat_Article ## Basic Information - **Project Name**: WeChat_Article - **Description**: 爬取微信公众号文章 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 90 - **Created**: 2023-06-26 - **Last Updated**: 2023-06-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WeChat_Article 爬取微信公众号文章 > Bilibili视频演示:https://www.bilibili.com/video/BV1vN411D7Y3/ **注意,除非你要断点续传,否则删除目录下conf.ini和url.json再启动!!!!** ![image](https://user-images.githubusercontent.com/31002981/217465357-d0737b23-55ec-47d3-b12c-ee8973a04291.png) ## 使用方法: 1、下载并解压[**Chrome.rar**](https://sxf1024.lanzouo.com/iJ2Rp0mwy50j); 2、运行**main.exe**; 3、填入信息,点击“**启动**”即可。 **************************************************************************************************** ## 背景知识: 爬取微信公众号有三种方法: - 第一种:用搜狗微信公众号搜过,这个只能收到前10条; - 第二种:用fiddler或手机抓包,从访问链接去获得appmsg_token,发现虽然这个值就在html页面里,但只有抓包的数据里含有效值,直接访问的是空的,而且还有时效性。这样,每次都要抓包获取,就很麻烦。 - 第三种:就是这种用公众号搜公众号的,虽然速度慢点,但便捷了不少。 **************************************************************************************************** ## 程序原理: 通过selenium登录获取token和cookie,再自动爬取和下载 * 使用前提: 1、申请一个免费的微信公众号,个人订阅号即可(https://mp.weixin.qq.com) **************************************************************************************************** ## 更新记录: 1. 下载文章文字内容到txt 2. 下载文章图片 3. 保存HTML文件,并将图片链接指向本地 4. 添加按时间范围下载 5. 添加cookie登陆,不成功才selenium浏览器登陆 6. 增加记住密码功能 7. 修复一些问题,如requests卡死 8. 添加按关键词下载 9. 多线程优化下载速度 10. 增加断点续传功能(可能存在bug,欢迎提issue) 11. 拟增加备用公众号功能(暂未完成) 12. 下载PDF格式 **************************************************************************************************** ## 使用说明: 创建虚拟环境 ```bash conda create -n wechat python=3.9 -y ``` 进入虚拟环境 ```bash conda activate wechat ``` 安装三方库 ```bash pip install -r requirements.txt ``` 运行脚本 ```bash python main.py ``` 打包exe(生成在dist下) ```bash pyinstaller -F -w -i icon.ico main.py ``` ## 其他说明: - 爬取间隔太快,容易遇到“**访问频繁**”或“**freq_control**”,这时候可以删除**cookie.json**,再重新运行软件,**换个号**继续运行; - Qt打包完实在是太大了,有大佬会转成Tkinter吗? 欢迎关注微信公众号:xfxuezhang