上期分析了携程的机票,本次来对比一下去哪儿的机票看看有什么不同。

接口地址:https://flight.qunar.com/touch/api/domestic/wbdflightlist

有一个加密参数__m__,看上去的话,这个__m__的获得应当是没有之前的携程的v那么困难的,但是很显然,也不是一时半会能够解决的

data: r({departureCity: i,arrivalCity: s,departureDate: o,ex_track: u,__m__: (0, l["default"](h["default"].encrypt()).toString(),st: GodEye.getST()
}, t)

首先我们找到了__m__,那么问题又来了,l是什么,h又是什么呢

如果直接通过selenium获取源码的话,确实难度会下降很多

地址:https://flight.qunar.com/site/oneway_list.htm?searchDepartureAirport={}&searchArrivalAirport={}&searchDepartureTime={}

但是,但是啊,问题在于,直接使用selenium是进不去查询机票价格的地址的,因为去哪儿把selenium给拦截了,如果你常规使用selenium去请求机票地址的话,根本就没有响应。必须要通过消除特征的办法,绕过检测。

绕过检测以后,拿到了源代码,还没有完,我们还会遇到最后的一个困难,那就是去哪儿的css加密。

/* 去哪儿的css加密 */<b style="width:48px;left:-48px">
<i title="326" style="width: 16px;">3</i>
<i title="326" style="width: 16px;">7</i>
<i title="326" style="width: 16px;">6</i>
</b>
<b title="326" style="width: 16px;left:-32px">2</b><b style="width:48px;left:-48px">
<i title="328" style="width: 16px;">5</i>
<i title="328" style="width: 16px;">6</i>
<i title="328" style="width: 16px;">7</i>
</b>
<b title="328" style="width: 16px;left:-48px">3</b>
<b title="328" style="width: 16px;left:-32px">2</b>
<b title="328" style="width: 16px;left:-16px">8</b>

以上代码就是去哪儿的css加密了,虽然说最后这关并不难,很容易解决,但是最后也还是要让你痛苦一下的

这个css加密的原理就是通过数字加移动距离,硬是拼接出来了价格,而不是直接把价格给你,这里面还混杂了假的价格,因此在提取数据的时候会造成一些困难,也就是你要区分哪些价格是假的,这些真的价格如何拼装在一起,这倒也不是困难的事情了。

不过有趣的是,这些代码包含了一个title属性,这个title属性已经给出了价格,这个title是可以相信的吗?还是是一个陷阱呢。大概是可以相信的吧,可能主要原因在于,我们运行了js,这个css加密不是留给我们的,而是留给直接从接口获取数据的人的,又或者是css加密方案被废弃了?谁知道呢

结论:去哪儿的反爬力度要强于携程,首先设置了js加密,还设置了selenium的检测,最后还有css的干扰,从去哪儿获取机票价格,比起携程还要困难。

查看2021更多爬虫分析,点击这里

注:由于个人精力有限,只能分析大概的思路,没办法将所有的代码都完整复原,请谅解。如果有爬虫需求,欢迎来找我,qq群地址:383472162,感谢支持!

第2期-通过去哪儿爬取机票价格相关推荐

  1. 第1期-通过携程爬取机票价格

    首先我们先找到携程机票的地址 携程机票的地址为,https://flights.ctrip.com/online/list/oneway-{a}-{b}?depdate={c} 其中,a为起始地,b为 ...

  2. 第3期-通过途牛爬取机票价格

    前两期,我们已经研究过了携程和去哪儿的机票.作为同样有名的出行平台,我们自然也应该再研究一下途牛的机票价格. 首先,登录途牛的界面,我感觉,非常的熟悉.虽然我是第一次打开途牛的机票价格的界面,但是我就 ...

  3. 躲避雪糕刺客?通过爬虫爬取雪糕价格

    需求分析 夏天天气实在是太热了,热的让人不想动,只有一直呆在空调房里,才能带来一点点安慰.当然,也少不了吃雪糕 不过,现在的雪糕的价格也不便宜,比如说某爱多巧克力雪糕零售已经卖到5块钱了,我怎么记得以 ...

  4. python爬取机票信息

    python爬取机票信息 飞机和高铁列车不同,在同样的航线中有着不同的票价,借此我们希望获取尽量多的机票信息来分析机票的变化规律. 首先我们选取京东机票为爬取对象http://jipiao.jd.co ...

  5. java爬去赶集,爬取赶集网二手物品下所有物品的信息

    四周爬虫课第二周的练习,爬取赶集网二手物品下所有物品的信息. 大致思路: 1.爬取频道页url: 2.爬取商品详情页url,写入mongodb,url_list表: 3.从url_list表读取url ...

  6. 第4期-通过起点中文网爬取小说

    起点中文网的历史比较悠久,一般来说,新的小说和古老的小说的格式恐怕是不太一样的,甚至vip章节和普通章节也是不一样的,因此,我们就尽量挑选最新的小说研究一下. 首先是排行榜的地址 https://ww ...

  7. Github每日精选(第75期):colly 爬取网站所有的数据

    colly colly 是一个优雅的 Golang 爬虫框架. colly 提供了一个干净的接口来编写任何类型的爬虫/scraper/spider. 使用 Colly,您可以轻松地从网站中提取结构化数 ...

  8. python 报价_python爬取京东价格

    昨天准备爬取一个京东商品的价格,正则写好了一直是空的 后来我去页面里面看了下,价格标签里果然是空的 百度了下,大家都说是js来控制显示价格的 于是去抓包试试,找到了一条mgets的请求 中间很多参数不 ...

  9. 破解携程中文验证码爬取机票价格数据

    国内机票预定APP携程处于垄断地位,但是携程有反爬虫策略,对于密集的查询请求会要求验证,验证操作有两次,一次是拖动验证,一次是点选中文,selenium+webdriver可以轻松绕过这一反爬虫设置. ...

最新文章

  1. 为什么选择数据分析师这个职业?
  2. 【ACM】杭电OJ 2027
  3. C#进行单击操作、单击位置记录、捕获全局左右键单击事件
  4. Ubuntu 14 查看 docker中对应容器的 IP
  5. opencv python教程简书_OpenCV-Python系列二:常用的图像属性
  6. 将数据传回前端_惠普打印机被发现偷偷回传数据:隐藏极深
  7. mysql插10万条数据_如何快速安全的插入千万条数据?
  8. 错误913:未能找到ID为13的数据库。可能该数据库尚未激活,也可能正在转换过程中...
  9. window下nodejs环境和express插件的安装
  10. SignalR+Redis,SignalR+Sqlserver集群部署应对海量链接
  11. Visual Components 4.0仿真软件优势
  12. Android基础--ListView的刷新
  13. 怎么录制音频,什么录音软件好用?
  14. 善领dsa2020最新车机ce版_理想汽车回应碰撞事故 硬件升级计划将推出OTA 2.0版
  15. 利用BeautifulSoup爬取豆瓣高分电影排行榜
  16. 离散系统黎卡提方程_黎卡提方程的解法
  17. html压缩包怎么打开,展示电脑rar压缩包文件怎么打开?教你正确打开方式
  18. 语c语言用语大全,C语言常用语总结.doc
  19. CookGAN Causality based Text-to-Image Synthesis
  20. T-Bootstrap-day04-组件、boot的定制、scss基础语法和函数

热门文章

  1. RRT算法matlab实现(未改进)
  2. C语言实现ASCII字符、压缩BCD码值与BIN码(16进制)互转 - (已编译,亲试可用)
  3. echarts横向滚动_ECharts滑动条型数据区域缩放组件(dataZoomSlider)
  4. python 读取 url 图片并保存到本地
  5. Js报错:Maximum call stack size exceeded
  6. 【字面量与变量的区别】
  7. ChatGPT的1000+篇文章总结
  8. C#与雷塞运动控制卡Dmc1380源码三轴点动运动 手动与自动位置设定
  9. 【计算机毕业设计】23.网上商城购物系统+vue
  10. Posix API 与 网络协议栈 详细介绍