https://sjipiao.alitrip.com/cheap_flight_search.htm?tripType=0&depCityName=&depCity=&arrCityName=&arrCity=&depDate=2016-09-04&range=30&searchGapDay=3

通过填写出发地和到达地以及出发日期前后多少天,我们得到网址变化

https://sjipiao.alitrip.com/cheap_flight_search.htm?tripType=0&depCityName=%C9%CF%BA%A3&depCity=SHA&arrCityName=%B1%B1%BE%A9&arrCity=BJS&depDate=2016-09-04&range=30&searchGapDay=3

发现depCity=由&变成了SHA,arrCity=由&变成BJS

depDate=2016-09-04&range=0也会随着时间选择而改变

由此得到选择地点和时间的初步想法

通过抓包看到一个很棒的文件名cheap_light

看到它有个get申请

请求网址是https://sjipiao.alitrip.com/search/cheapFlight.htm?startDate=2016-09-04&endDate=2016-09-04&routes=SHA-BJS&_ksTS=1472729701579_680&callback=jsonp681&ruleId=4&flag=1

打开后发现是json文件,接下去要爬取的目标就是它

对它进行分析 发现从flights开始为我们需要的

"flights":[{"depCode":"SHA","depName":"\u4e0a\u6d77","arrCode":"BJS","arrName":"\u5317\u4eac","price":419,"depDate":"2016-09-04","week":6,"discount":3.4,"priceDesc":"\u5143"

从而得到出发地,目标地,价格,折扣,出发时间

用json.load库匹配并放入字典

接下去就是代码工作了

# -*- coding: utf-8 -*-
import datetime
import json
import urllib
import re
import sys
reload(sys)
sys.setdefaultencoding('utf-8')def getinfo(startdate, enddate,startplace,endplace):url = 'https://sjipiao.alitrip.com/search/cheapFlight.htm?startDate=%s&endDate=%s&' \'routes=%s-%s&_ksTS=1472727272319_680&callback=jsonp681&ruleId=4&flag=1' % (startdate, enddate,startplace,endplace)flight_html = urllib.urlopen(url).read()pattern = r'\(\s+(.+)\)'
    re_rule = re.compile(pattern)json_data = re.findall(pattern, flight_html)[0]flight_json = json.loads(json_data)flights = flight_json['data']['flights']return flightsdef trip(flight):for f in flight:depname = '%s - ' % f['depName']arrname = '%s\t' % f['arrName']price = '\t价格:%s%s(折扣:%s)\t' % ((f['price']), f['priceDesc'], f['discount'])departdate = '\t日期:%s' % f['depDate']print depname + arrname + price + departdatetoday = datetime.date.today()
delay = int(raw_input('输入数字(最多查询到45天后) 要查询几天内的机票 \n '))
enddate = today + datetime.timedelta(delay)
print enddate
endstr = str(enddate)
print '航班日期'+str(today) + ' To ' + endstr +'\n'
print '城市简称查询办法进入阿里旅行输入地点后查看网址中depCity= arrCity= \n'
startplac=raw_input('请输入出发地城市大写英文简称 eg:SHA \n')
endplac=raw_input('请输入目的地城市大写英文简称 eg:SHA \n ')
flights = getinfo(today, enddate=endstr,startplace=startplac,endplace=endplac)
print '==================以下为航班信息=================='
trip(flights)
print '================机票信息已显示完毕================\n'

爬虫07 爬取阿里旅行特价机票相关推荐

  1. Python 爬虫-爬取阿里旅行特价机票信息(1)

    本着对于出游的向往,但又苦于没有找到合适的机票价格.于是,萌生了去获取相关网站的机票信息.一开始是想去获取全站机票信息,但是那个工作量太大,而且机票价格在一天时间里经常变更,给数据的爬取增加了极大的难 ...

  2. python听歌识曲爬虫_Python爬取网易云音乐热门评论的搜索结果-阿里云开发者社区...

    网易云音乐评论爬虫(三):爬取歌曲的全部评论 用过网易云音乐听歌的朋友都知道,网易云音乐每首歌曲后面都有很多评论,热门歌曲的评论更是接近百万或者是超过百万条.现在我就来分享一下如何爬取网易云音乐歌曲的 ...

  3. python websocket爬虫_python爬虫----爬取阿里数据银行websocket接口

    业务需求:爬取阿里品牌数据银行的自定义模块==>>>人群透视==>>>查看报告==>>数据 最终获取页面: 页面获取情况如下: 绿色的就是我们需要模拟的 ...

  4. lofter 爬虫_Python网络爬虫1 - 爬取网易LOFTER图片

    LOFTER是网易出品的优质轻博客,灵感源于国外的tumblr,但比之更加文艺,更加本地化.本人非常喜欢LOFTER的UI设计,以及其中的优质用户和内容,似乎网易并不擅长推广,所以受众并不广泛.这都是 ...

  5. python爬取阿里cve漏洞库信息

    水一篇爬取阿里漏洞库信息的文章,有好几周没写爬虫了,在爬取时感觉还是xpath爬取高效些,但是用的正则匹配(re库,python内置),正则虽说在写匹配样式时比较繁琐但是精确匹配还是得用它,只 爬取第 ...

  6. 爬取阿里云物联网平台设备的物模型数据

    背景说明 按项目经理的要求,需要导出阿里云物联网平台上所有设备的物模型数据到Excel上,方便后台导入.给客户演示和备份.但是,阿里云物联网平台没有这个功能,手动一个个处理不现实,因此只能写一个爬虫爬 ...

  7. python爬虫之爬取网页基础知识及环境配置概括

    记:python爬虫是爬取网页数据.统计数据必备的知识体系,当我们想统计某个网页的部分数据时,就需要python爬虫进行网络数据的爬取,英文翻译为 spider 爬虫的核心 1.爬取网页:爬取整个网页 ...

  8. scrapy爬取——阿里招聘信息

    scrapy爬取--阿里招聘信息 爬取网站地址: https://job.alibaba.com/zhaopin/positionList.htm 1.创建项目 进入项目目录 输入cmd进入都是窗口创 ...

  9. Python爬虫之爬取网络小说并在本地保存为txt文件

    Python爬虫之爬取网络小说并在本地保存为txt文件 注:本文使用软件为Sublime Text,浏览器为谷歌浏览器 (新手小白第一次写,写得不好请见谅) **1.**首先找到想要爬取的小说章节目录 ...

最新文章

  1. WPF中StringFormat的用法
  2. Jwplayer 读取服务端文件的两种方式
  3. 2018-2019-1 20165335 《信息安全系统设计基础》第六周学习总结
  4. 【杂谈】购言有三签名纪念版书籍,送1~3副有三AI学习扑克牌
  5. 状态机在VHDL中的实现
  6. linux nginx线程池,nginx使用线程池提升9倍性能
  7. BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)
  8. 普通电脑能做成瘦客户机吗_阿里云的“无影”云电脑,能不能真的代替传统电脑...
  9. Windows 7 时代即将终结!
  10. “跟技术Leader聊了10分钟,我就猜到下周要发生重大宕机事故!”
  11. dubbo调用原理,过程(知其然,知其所以然)
  12. [复现论文程序图]High Speed Continuous Variable Source-Independent Quantum Random Number Generation...
  13. 使用PhotoShop制作公章
  14. win7系统配置时间服务器,与Internet时间服务器同步 设Win7精确时间
  15. 基于STM32F103C6T6HAL库控制SG90舵机
  16. python论文排版格式_论文排版(一):三分钟了解页面设置
  17. VSCode 过滤.meta 文件
  18. vue 萤石_记录Vue结合萤石视频ezuikit.js的爬坑记录
  19. python中round函数的使用方法
  20. Qt编写可视化大屏电子看板系统24-模块2当月计划

热门文章

  1. Wipro任命Thierry Delaporte为首席执行官兼董事总经理
  2. 【9月16日】中文信息MMT模型
  3. Java时间轮算法的实现
  4. python绘制笛卡尔直角坐标系
  5. 词霸天下---141词根 【-habit- = -hibit- 拥有,占据,居住 】
  6. [转] 心态是最大的本钱;人无完人,重要的是怎么做人
  7. Java - 什么是UML?
  8. 蓝牙—RFCOMM协议
  9. node进程cpu 100%问题排查
  10. 蓝桥杯2017国赛 瓷砖样式 dfs+map