如何通过Python和Charles实现微信小程序爬取的详细步骤图解?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1201个文字,预计阅读时间需要5分钟。
一、前言最近需要获取微信小程序上的数据进行分析处理,第一时间想到的方式就是采用Python爬虫进行数据抓取。然而,尝试后发现存在诸多问题,例如无法获取目标网址、解析网址中存在指定参数等。以下是遇到的具体问题。
一、前言
最近需要获取微信小程序上的数据进行分析处理,第一时间想到的方式就是采用python爬虫爬取数据,尝试后发现诸多问题,比如无法获取目标网址、解析网址中存在指定参数的不确定性、加密问题等等,经过一番尝试,终于使用 Charles 抓取到指定微信小程序中的数据,本文进行记录并总结。
环境配置:
电脑:Windows10,连接有线网
手机:iPhone Xr,连接无线网
注:有线网与无线网最好位于同一网段下。
本文有线网网址:192.168.131.24,无线网网址:192.168.210.223
二、Charles配置与使用 1.Charles简介
Charles,一个HTTP代理服务器,HTTP监视器,反转代理服务器,当程序连接Charles的代理访问互联网时,Charles可以监控这个程序发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息)。
Charles主要功能:
1. 支持SSL代理。可以截取分析SSL的请求。
2. 支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。
3. 支持AJAX调试。可以自动将json或xml数据格式化,方便查看。
4. 支持AMF调试。可以将Flash Remoting 或 Flex Remoting信息格式化,方便查看。
5. 支持重发网络请求,方便后端调试。
6. 支持修改网络请求参数。
7. 支持网络请求的截获并动态修改。
8. 检查HTML,CSS和RSS内容是否符合W3C标准。
----百度百科
Charles,著名的抓包工具,可以抓取移动端与pc端网络访问的所有数据,操作简单,试用期后每30分钟需要重启一次,且启动有10秒延迟,较麻烦。
2.Charles安装
Charles官网下载:www.charlesproxy.com/download/
下载对应版本后完成安装。
3.证书配置(重要!) Charles安装证书:
Help -> SSL Proxying -> Install Charles Root Certificate
在Windows端需要安装Charles证书,点击后如图所示(此为安装成功后截图):
点击安装证书,
点击下一步,
在此选择第二个,将所有证书都放入下列存储,点击浏览,选择受信任的根证书颁发机构。
确定后下一步。
点击完成后提示导入成功。此时需要重新进入Help -> SSL Proxying -> Install Charles Root Certificate,查看证书结果,成功时如下提示:
移动端安装证书(重要!)
移动端同样也需要安装Charles证书,具体操作如下:
选择在移动端安装证书选项,Charles提示如下:
提示需要设置手机nujump.tigerobo.com/HB_Jumper/ztjump.ashx?topic=8&aris_data=kcb_1_announced_corp&pageIndex=1&pageSize=5,
主要参数为pageIndex与pageSize,即页面索引与当页显示的数据量,在浏览器中访问该url,可以看到返回的结果为json格式的数据:
其实,当通过Charles解析出url链接时,即可通过python爬虫爬取接口返回的数据了,不涉及反爬虫等问题,非常方便。
四、问题集锦
1.网络问题:
网传手机与电脑链接的网段必须相同,但是也有不一致的说法,本文测试时,无线网与有线网是处在同一网段下。
2. 手机或电脑无法联网:
证书问题:证书未能正确安装,查看手机上是否始终信任证书!(多数情况下如此);电脑上查看证书是否安装在受信任的位置,浏览器中的证书是否正确添加。
防火墙问题:关闭Windows10的防火墙,取消阻止传入连接。
其他问题:网传Charles开启了White list,但测试时并未发现。
3.my.oschina.net/sumiao/blog/1587350?utm_source=debugrun&utm_medium=referral
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。
本文共计1201个文字,预计阅读时间需要5分钟。
一、前言最近需要获取微信小程序上的数据进行分析处理,第一时间想到的方式就是采用Python爬虫进行数据抓取。然而,尝试后发现存在诸多问题,例如无法获取目标网址、解析网址中存在指定参数等。以下是遇到的具体问题。
一、前言
最近需要获取微信小程序上的数据进行分析处理,第一时间想到的方式就是采用python爬虫爬取数据,尝试后发现诸多问题,比如无法获取目标网址、解析网址中存在指定参数的不确定性、加密问题等等,经过一番尝试,终于使用 Charles 抓取到指定微信小程序中的数据,本文进行记录并总结。
环境配置:
电脑:Windows10,连接有线网
手机:iPhone Xr,连接无线网
注:有线网与无线网最好位于同一网段下。
本文有线网网址:192.168.131.24,无线网网址:192.168.210.223
二、Charles配置与使用 1.Charles简介
Charles,一个HTTP代理服务器,HTTP监视器,反转代理服务器,当程序连接Charles的代理访问互联网时,Charles可以监控这个程序发送和接收的所有数据。它允许一个开发者查看所有连接互联网的HTTP通信,这些包括request, response和HTTP headers (包含cookies与caching信息)。
Charles主要功能:
1. 支持SSL代理。可以截取分析SSL的请求。
2. 支持流量控制。可以模拟慢速网络以及等待时间(latency)较长的请求。
3. 支持AJAX调试。可以自动将json或xml数据格式化,方便查看。
4. 支持AMF调试。可以将Flash Remoting 或 Flex Remoting信息格式化,方便查看。
5. 支持重发网络请求,方便后端调试。
6. 支持修改网络请求参数。
7. 支持网络请求的截获并动态修改。
8. 检查HTML,CSS和RSS内容是否符合W3C标准。
----百度百科
Charles,著名的抓包工具,可以抓取移动端与pc端网络访问的所有数据,操作简单,试用期后每30分钟需要重启一次,且启动有10秒延迟,较麻烦。
2.Charles安装
Charles官网下载:www.charlesproxy.com/download/
下载对应版本后完成安装。
3.证书配置(重要!) Charles安装证书:
Help -> SSL Proxying -> Install Charles Root Certificate
在Windows端需要安装Charles证书,点击后如图所示(此为安装成功后截图):
点击安装证书,
点击下一步,
在此选择第二个,将所有证书都放入下列存储,点击浏览,选择受信任的根证书颁发机构。
确定后下一步。
点击完成后提示导入成功。此时需要重新进入Help -> SSL Proxying -> Install Charles Root Certificate,查看证书结果,成功时如下提示:
移动端安装证书(重要!)
移动端同样也需要安装Charles证书,具体操作如下:
选择在移动端安装证书选项,Charles提示如下:
提示需要设置手机nujump.tigerobo.com/HB_Jumper/ztjump.ashx?topic=8&aris_data=kcb_1_announced_corp&pageIndex=1&pageSize=5,
主要参数为pageIndex与pageSize,即页面索引与当页显示的数据量,在浏览器中访问该url,可以看到返回的结果为json格式的数据:
其实,当通过Charles解析出url链接时,即可通过python爬虫爬取接口返回的数据了,不涉及反爬虫等问题,非常方便。
四、问题集锦
1.网络问题:
网传手机与电脑链接的网段必须相同,但是也有不一致的说法,本文测试时,无线网与有线网是处在同一网段下。
2. 手机或电脑无法联网:
证书问题:证书未能正确安装,查看手机上是否始终信任证书!(多数情况下如此);电脑上查看证书是否安装在受信任的位置,浏览器中的证书是否正确添加。
防火墙问题:关闭Windows10的防火墙,取消阻止传入连接。
其他问题:网传Charles开启了White list,但测试时并未发现。
3.my.oschina.net/sumiao/blog/1587350?utm_source=debugrun&utm_medium=referral
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

