今天这篇文章来介绍一下使用Charles抓取微信小程序数据包,其实跟抓取App是没有区别的,如果你已经学会了如何抓取安卓App的数据,那么这篇文章相对于你来说非常的简单!
在这里我不在说明Charles的使用方法,如果不会的话可参考:Charles抓包工具的安装和使用详解。
我们抓取同程艺龙酒店机票火车票,这个微信小程序为例进行演示。其实我是选择了很久的,其它的小程序貌似没有可抓的东西(这里是抓不到)。我们需要抓取的是:

那么我们按照基本的操作进行数据的查找,需要注意的是,如果手机在配置代理后连不上网,可以先关闭WiFi,进入小程序里面,然后在开启WiFi进行抓包,最后发现了数据包如图:

是一个json数据,还是熟悉的样子,代码参考:
import requests
import json
#在Charles工具中发现可以的url地址
url='https://wx.17u.cn/cheapflights/bffapi/cheapflightapi/special_ticket/query?channel=2'
headers={
'User-Agent':'okhttp/3.10.0',
}
response=requests.get(url,headers=headers)
html=json.loads(response.text)
for i in html['data']:
item={}
#省份
item['tag']=i['tag']
for li in i['list']:
#出发地----->>目的地
item['route']='{0}----->>{1}'.format(li['origCityName'],li['destCityName'])
item['date']=li['date']
item['price']=li['price']
print(item)
这个还是比较简单的,一个url已经包含了所有的信息。自己也可以尝试其他的微信小程序进行抓取。
微信小程序的请求非常的简单,基本上没有验证信息,即便有验证信息也非常的脆弱。用Python来请求小程序的后台接口,从而获取数据,比请求异步加载网页的后台接口要容易的多。那么在爬虫开发过程中,如果目标网站有微信小程序,那么一定要优先调查能否通过小程序的接口来抓取数据。小程序的反爬虫能力比网页版低很多。使用小程序的接口来爬取数据,能极大的提高爬虫开发效率
声明:1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!