使用python获取共享汽车平台Evcard 的车辆位置信息

通过python获取共享汽车平台Evcard 的车辆位置信息*

我们直接开门见山,但是本文只是提供一个思路,具体还需要大家自行操作(由于是第一次写,有些许的紧张,如有错误的地方,望大家不吝赐教)。
因为我们本次需要爬取的是 Evcard的app所以需要使用抓包软件。常用的抓包工具有fiddler,mitmproxy,Charles。Charles使用需要收费,虽然有半个小时的免费使用时间但是对于我们这种小白来说肯定是不够的,所以我还是果断选择了fiddler。
1.下载fiddler
fiddler下载网址(安装什么的网上已经有了很多的介绍我这里就不在讲解):
https://telerik-fiddler.s3.amazonaws.com/fiddler/FiddlerSetup.exe
2.安装好fiddler后打开.exe文件,开始配置,首先点击"tools" -> “Options…”,按照下面图进行配置(如果感觉连电脑端也抓取的话到时候不太分析的话可以选着仅从远端抓取)
使用python获取共享汽车平台Evcard 的车辆位置信息_第1张图片
使用python获取共享汽车平台Evcard 的车辆位置信息_第2张图片
3.打开浏览器,输入"http://localhost:8888/",点击最下方,下载证书
4.将下载的证书传到手机上,并进行安装。

安装好证书后,修改手机WLAN的配置 ,并且手机与电脑需要保证在同一局域网中。需要修改的是 : 将所连WiFi的代理改为手动,服务器主机名一项填写自己电脑的IP地址,服务器端口一项填写8888(因为Fiddler一般默认端口是8888),然后保存。就可以开始抓包了。这个配置环节有些麻烦,我当初因为配置错误也是倒腾了好长时间才抓取到数据的。虽然可以抓取到数据,但是抓取的全是带有小锁的不能解析,这个证书配置可以去百度一下,这个还是有很多大佬进行过详细介绍。
这里介绍个讲解fiddler抓包非常详细的大佬文章,大家可以进行参考:
https://blog.csdn.net/weixin_43664254/article/details/94601280?ops_request_misc=&request_id=&biz_id=102&utm_term=fiddler%E4%B8%ADHeaders%E8%BF%94%E5%9B%9E%E7%9A%84%E5%90%84%E4%B8%AA%E5%8F%82%E6%95%B0%E7%9A%84%E4%BB%8B%E7%BB%8D&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2-.first_rank_v2_pc_rank_v29&spm=1018.2226.3001.4187

当所有所有配置弄好之后,我们真正激动的时刻就要来了,抓取我们需要的链接了,选择的抓取地点是镇江市。
我们先简单分析一下抓取到的所有的链接,通过访问的Host和Body两列可以大致的找到我们需要的链接,这两个链接都是访问的apigw-mas.evcard.vip网站,并且返回大量的数据。
使用python获取共享汽车平台Evcard 的车辆位置信息_第3张图片
打开这两条信息发现这个正是我们需要的租赁网点分布链接
使用python获取共享汽车平台Evcard 的车辆位置信息_第4张图片
接下来就要开始分析这个链接是如何请求的了,因为近年来随着APP的包含的数据量变多,导致App的反爬机制越来越牛逼。那么我们就来解析一下这个链接的请求方式,我们先在上面那个视图里面选择Raw,在这个里面可以看到一些请求的参数,了解爬取

你可能感兴趣的:(python,开发语言,后端)