项目:艺龙国内机票实时数据爬虫

本文详细介绍了如何分析艺龙国内机票实时数据的爬虫项目,包括解析网页数据来源,编写爬虫脚本,验证数据准确性,以及通过js逆向分析加密参数grabCode的生成。通过使用requests、js2py、json和xpath等工具,成功爬取并验证了机票价格等关键信息。最后,模拟了参数生成过程,确保代码能适应不同城市和日期的查询需求。
摘要由CSDN通过智能技术生成

使用模块:requests(请求模块),js2py(js执行模块),json(解析json),xpath(解析网页)。

项目流程:

  • 分析网站数据来源。
  • 编写爬虫脚本。
  • 验证数据准确性。
  • js逆向破解参数生成。 
  • 更换请求参数城市(飞机起飞城市和落地城市或日期)测试结果是否正常。

1.分析网站数据来源

 进入艺龙机票列表搜索页,附上链接http://flight.elong.com/flightsearch/list?departCity=bjs&arriveCity=sha&departdate=2018-12-24,链接参数日期自行更改。

一般情况数据为调用接口获得,或是在页面中嵌入,这里很明显是调用了接口。

F12打开开发者工具(谷歌浏览器),选择network中的xhr,然后刷新页面或重新搜索,查看调用的接口。(这一步也可以使用抓包工具,推荐使用Fiddler,网上有许多汉化版的,看个人习惯吧。)

 

调用了四个接口,点击接口查看返回结果,确定数据来源。

看到出发机场,航空公司名称之类的英文,ok,就是这个了,点击进入Headers。

 

 数据来源已经确定,下面我们来构造爬虫请求接口。

2.编写爬虫脚本

快速上手requests模块,链接已备好  http://docs.python-requests.org/zh_CN/latest/user/quickstart.html

直接上代码(提示:代码中的请求参数grabcode的值需要自己抓取,有时效性,过期无返回结果导致代码报错):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值