最近需要获取从上海出发到国际其他城市的航班信息,在网络上找不到相关爬取国际航班或机票信息的相关资料,即使有也是零零碎碎。
为了节省时间,我就花30买了携程1000次调取机票信息的api。偷偷吐槽一句,这个api接口很粗糙,我没法自己写爬虫程序,只能每次输入【出发城市】【到达城市】【出发日期】,然后点击一次请求测试,成功的话返回一个json,(信息还是蛮全的),失败的话返回【空】。成功话算作一次调用api接口,失败不算次数。
就这样,我根据【国际机场三字码查询表】里提及到的国际城市,一个一个点击,额,确实是个很蠢的操作,但是因为赶时间,我就这样操作了一波。很快,我发现,如果你查询的是比较的国际城市,比如东京、纽约、华盛顿,一般会能够返回航班信息;但是如果查询的是很小众的城市,比如楠迪(斐济的城市)、卡拉瓦里(巴布亚新几内亚的城市),大多时候返回的是空,(实际上,去携程官网查,确实是有当天航班信息,而这个神箭手爬取不到!我猜测可能是因为阿里这个爬虫系统不能检索到这个城市中文,也就是说,一般爬取机票信息时,会输入城市及对应的城市三字码,这样在检索的时候应该会成功率更高)。
好,就是这样,我检索了不到100个城市的航班信息。都把返回的json数据一起整理成json文件。准备利用python解析数据,并存入mysql。下面是正文。
先贴出代码,以及运行结果图。
#-*-coding:utf-8-*-
#可以抽取