作者:云潮
关键词:代理,网页监听,微信公众号文章
在NO.45-windows端app的"网页监听"-Anyproxy安装——By.杭州组-云潮中, 我们介绍了基本原理以及完成了准备条件,在这里我们通过电脑端微信的公众号数据抓取深入介绍下"网页监听"(win)的使用。简单介绍下需求:给定一篇公众号的链接,通过在微信中打开微信公众号文章,抓取到该微信公众号的历史文章。
微信公众号文章:https://mp.weixin.qq.com/s/QU5ZJqyHT6QpWAqWeEHa9w
历史文章界面:https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=MzA4NDQwNTkzMw==&==
如何通过公众号文章链接转成历史文章链接可以参考:https://zhuanlan.zhihu.com/p/670033841
历史消息界面的链接只能在微信中打开

在浏览器中打开就显示如下页面
具体原因是:缺少uni,key特征参数的值。这些特征参数的值只能从微信客户端获取

这时候Anyproxy就登场了,先看效果,通过抓包的方式获取包含特征值的微信历史消息的链接,在浏览器中可以正常打开。

我们先梳理手动操作的路径,然后把该操作路径用影刀实现
1.win+r输入cmd,在命令行输入anyproxy -i

2.打开系统代理

3.将微信公众号历史文章消息链接发送到文件传输助手中,然后打开

4.打开http://localhost:8002/

5.打开浏览器的开发者工具监听

6.此时从监听的数据中筛选出包含特征值uni跟key的完整链接即可
7.此时能从网页中打开该链接,那么对于单篇笔记的数据抓取相信对大家来说就不是难事了
工具:
# 使用提醒:
# 1. xbot包提供软件自动化、数据表格、Excel、日志、AI等功能
# 2. package包提供访问当前应用数据的功能,如获取元素、访问全局变量、获取资源文件等功能
# 3. 当此模块作为流程独立运行时执行main函数
# 4. 可视化流程中可以通过"调用模块"的指令使用此模块
import xbot
from xbot import print, sleep
from .import package
from .package import variables as glv
import subprocess
import os
def open_proxy():
# 启用系统代理
subprocess.run(['reg', 'add', 'HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings', '/v', 'ProxyEnable', '/t', 'REG_DWORD', '/d', '1', '/f'])
def close_proxy():
# 禁用系统代理
subprocess.run(['reg', 'add', 'HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings', '/v', 'ProxyEnable', '/t', 'REG_DWORD', '/d', '0', '/f'])
def main(args):
pass
获取历史文章链接:

完整流程:

实现效果:
