python爬取京东机票,监控机票,机票价格分析

博主为节省机票费用,编写了一个Python爬虫来监控京东机票价格。通过分析目标地址,发现京东查询机票时发送三个异步GET请求。爬虫代码实现包括构建请求,确保至少一次成功获取机票信息。运行结果稳定,已用于邮件通知和数据分析,提供出行参考。

又到了一年一度的国庆假期。今年国庆、中秋撞到一起,所以打算回家过节。从帝都到海口,每到节假日的机票都是全价票…2400大洋的单程票,消费不起呀!所以为了买到便宜点的机票,我就写了一个简单的爬虫来监控机票价钱。
可能有人会觉得,阿里飞猪,携程什么的都有监控,何必自找麻烦。对于一个程序员来说,能自己做到的事情就不会去使用别人的东西。而且他们的产品不一定能满足我的需求啊。废话不多说,正文分割线!


分析目标地址

跟以前一样,爬虫第一件事。分析目标,看他是怎么处理机票查询。
地址:https://jipiao.jd.com/
进入查询页面后,发现京东查机票。一共发了三个异步的get请求来请求机票数据。
这里写图片描述
这里,我也没弄明白为什么京东要使用3个请求来获取机票信息。多次测试发现,这三个请求中会有概率查不到机票。既然这样,我们代码中也请求三次,直到拿到机票结果信息。

构建请求

首先我们需要构建一个get请求,把参数一起传过去。

#模拟请求头(可以根据自己浏览器访问,直接copy过来。)
headers = {
        'Host': "jipiao.jd.com",
        'Accept-Language': "zh-CN,zh;q=0.8,en;q=0.6",
        'Accept-Encoding': "gzip, deflate, br",
        'X-Requested-With' : 'XMLHttpRequest',
        'Connection': "keep-alive",
        'User-Agent': "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36"
    }

    #requests.session(),这样的requests请求,会带上前一次请求的sessionid
    roon_session = requests.session()

    #请求所携带的参数。需要哪些参数,分析目标地址。
    payload = {
  
  
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值