前言
数据不再是以间接的网页形式展现,各类微信小法式或APP成为了新的数据源。之前写爬虫法式,都是折腾电脑网页,此次第一次爬取手机端数据,特此记录以备忘。
本主要爬取数据的工具是:西安市市民一码通小法式——停车引诱页面。
一码通页面
按照交换逻辑,手机端信息不外是将网页信息以手机UI形式展现,其运转逻辑和PC版网页没有较大区分。但在现实操纵时发现,这玩意与PC网页分歧的是,手机端没法像PC端可以间接按F12进入开辟者调试页面,那末就得利用工具先把手机请求地址找出来。
Charles简介
“Charles is an HTTP proxy / HTTP monitor / Reverse Proxy that enables a developer to view all of the HTTP and SSL / HTTPS traffic between their machine and the Internet. This includes requests, responses and the HTTP headers (which contain the cookies and caching information).”——————官网先容
翻译过来就是:它是用来测试收集请求响应交换的监控器。
Charles页面
抓包环节
初步判定
在手机上检察时,发现下拉该页面时页面会弹出请求网址,差点被这个地址给误导了。
电脑端拜候这个地址,发现该页面实在是建大静态交通研讨院做的停车治理平台,不外得登陆才能进入,对于普通拜候者来说,这个请求地址是没有什么用的。
到此为止,大要肯定了网址的组成结构应当是:http://zimoiot.com/+XXXX
Charles监测
Charles相关的设置与说明在此不外多赘述,主如果要将手机和电脑连结在同一收集内,在PC端安装证书后,还要在手机上一样安装证书,并设备信赖权限和代理。
在设置好相关参数和参数后,操纵手机端小法式时即可在Charles上看到相关的请求记录。
肯定地址
经过手机点击小法式中的四周停车场列表,翻页检察可以发现是静态网页。按照Charles监测显现,请求方式为POST,请求网址应为https://jianda.zimoiot.com/app/getParkingListGetByDistance,请求data应为地点地经纬度、查找间隔、页面显现数目等参数,默以为:“"page": 1, "limit": 10, "userid": "29", "version": "1.0.0", "mchid": "157", "clienttype": "4"”,可将页面显现信息数目和查找范围都设备为99999,意为不限制间隔和数目。
Python库
import pandas as pd import requests import re import json from pandas import json_normalize