python 爬取携程网飞机航班信息

来源:互联网 发布:mac 图片转文字 编辑:程序博客网 时间:2024/04/30 17:40

昨天去面试 面试官给了一道题 让我抓取一个网站的信息 心想:就这么简单 小case嘛 然而打开携程网站 抓取了一下
这里写图片描述
结果没找到飞机航班信息 ….. 有重新打开 了携程的网站 一看 我擦 数据居然是异步加载的 这回有的玩了
打开控制台 查看信息 看到开始的时候 果然没有航班数据
这里写图片描述
看到了这个请求地址返回的信息有些像 航班数据 这里写图片描述
试着用python 请求一下 看下数据格式

import urllib.requestimport jsonurl = '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)

通过上面的请求我们看到 返回的数据编码为 gb2312的 我们看到了这里的信息确实是航班信息这里写图片描述

看到航班信息的数据在 fis 这个数组下面 我们就循环一下看一下航班信息是否正确这里写图片描述

我拿着去比较 信息是正确的 最后激动的 交了项目 offer 最后还是没拿到 技术太菜 求大牛带 q码823688826 小白一起交流 哈啊

原创粉丝点击