教程|数据分析 抓取APP和微信平台数据

最近几天都在研究抓取APP和微信平台数据,目前研究出一点心得,跟大家分享一下。


Fiddle

Fiddler是一个http协议调试代理工具。

它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据

(指cookie,html,js,css等文件,这些都可以让你胡乱修改的意思)。

Fiddler 要比其他的网络调试器要更加简单,因为它不仅仅暴露http通讯还提供了一个用户友好的格式。(百度百科copy)


画一个流程图解释一下:

PC端下载并安装好Fiddler→选择 Tools > Options > Https 勾选(允许抓取https)

Connection勾选允许远程连接

(Fiddler默认端口号8888)

点击OK 完成PC端配置。


移动端(ios)配置:

PC端打开CMD->ipconfig

当前IP为192.168.101.200

手机打开局域网设置

进行如下配置:

设置好后,打开手机浏览器

输入http://ip:端口号

点击前往

点击下载证书进行安装(Android可直接安装)

Ios麻烦一点,

需要将下载好证书通过邮件发送到本机,

在邮件客户端安装(无法直接安装)

安装好后,重启PC端Fiddler就可以正常抓包了。(开启Fiddler时,浏览器无法正常发送请求,必须先停止Fiddler)

现在抓取微信公众号所有历史文章来练练手,

以下教程只提供笔者实战抓取的思路,不提供完整源码(太懒了,没时间码完整源码)

PC打开Fiddler,同时打开PC微信客户端(手机端微信无法抓包(应该不是采用http/https通讯的,这个我没有仔细研究),用PC客户端抓包,数据和手机端一摸一样),如下图:

将这条URL拿出来,浏览器User-Agent换为移动端

复制进去正常发送请求

可以看到浏览器返回公众号历史消息

微信公众号或者订阅号历史消息URL的规律

如果是一个经常发文章大号

一页能存大概80篇文章(9天)

我们几个太懒

所以带吧一条URL全部文章就下来了,

我找一个大号测试以下规律,他的初始URL为:

这两条URL我只是对公众号历史文章进行翻页,出现一个规律,每次请求新URL时,发送GET请求,带参只需要offset +=9,除此之外每一页URL发送请求(必加User_agent与Cookies)

拿到页面源码,本来想通过Beautiful拿到每一个信息,然后拼接成一个文章的URL,好久没用Beautiful,写了一次请求报错,又看了一下源码,发现find_all的那段div找不到,又看了一下请求完整源码,发现有完整的URL链接。

(好僵啊,每次就想Beautiful/Xpath/Pquery)

写了一个正则后,拿到大部分URL,然后和文章URL头拼接一下,形成完整URL,然后在get这个文章URL就OK了。

Fiddler抓包抓一些APP可能或显示网络错误之类(通讯应该不是http/https),如果手机微信直接抓,肯定抓不到,这里我绕了一下回到PC微信抓,轻松拿到URL。其他一些APP小伙伴们可以自行测试,大多数APP抓包是可以抓到的,如果不能抓试着换个思路就OK。

抓了这么多次数据,有了如下认识,移动端比PC端数据好爬(Firefox或者Chrome下载附加插件换User_Agent),写爬虫思路一定要灵活,换种方式思考就OK。最近微信很火的小游戏跳一跳我们就可以通过抓包修改分数,看了一下大佬们思路,大概如下过程,微信抓包-了解发送什么请求,带什么参数-看js源码了解session_id和其他参数如何构造的-伪造参数上传。

有兴趣小伙伴可以自行尝试下

(最近几天貌似又加强反爬)~~

来源:带吧 蒲某

举报
评论 0