社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
昨天去面试 面试官给了一道题 让我抓取一个网站的信息 心想:就这么简单 小case嘛 然而打开携程网站 抓取了一下
结果没找到飞机航班信息 ….. 有重新打开 了携程的网站 一看 我擦 数据居然是异步加载的 这回有的玩了
打开控制台 查看信息 看到开始的时候 果然没有航班数据
看到了这个请求地址返回的信息有些像 航班数据
试着用python 请求一下 看下数据格式
import urllib.request
import json
url = 'http://flights.ctrip.com/domesticsearch/search/SearchFirstRouteFlights?DCity1=SHA&ACity1=BJS&SearchType=S&DDate1=2017-10-22&IsNearAirportRecommond=0&LogToken=d5c2cdde121640c587b2737a160555cc&rk=6.87741369292242094159&CK=B4828167808BE5DE87C5814B02C113A3&r=0.44130167627926424060312'
headers = {
"Host": "flights.ctrip.com",
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0",
"Referer": "http://flights.ctrip.com/booking/SHA-BJS-day-1.html?DDate1=2017-10-22",
"Connection": "keep-alive",
}
res = urllib.request.Request(url,headers=headers)
res = urllib.request.urlopen(res).read().decode("gb2312")
jsonData = json.loads(res)
print(res)
看到航班信息的数据在 fis 这个数组下面 我们就循环一下看一下航班信息是否正确
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!