携程-eleven分析

一、eleven的位置

通过对旁边栈的分析,它是在另一个js文件中调用的。那个js文件是一个自调用的函数,所以我们可以直接copy下来,用浏览器执行看看

执行运行是会报错的,undefind没有call属性

经过调试发现,报错这里是想调用window下面的某一个函数,也就是这个对象属性key为29对应的值

所以我们需要将这个函数添加进去

我们再运行一次,这样就不会报错了

虽说能够成功运行,不报错,但是本地生成的eleven的值是跟携程官网生成的eleven是不一样的

三、解决方案

这段js代码,肯定是对某一些做了判断,我当时猜想过cookie,因为我就是在浏览器中运行,浏览器的一些标识肯定都是一样,又区别的地方应该就是cookie吧。我就就一步一步的调试这这一大段js代码,讲真确实让人看得头疼

刚开始看确实没多少耐心,点的也很快,也没什么技巧。

有一个老哥说,他能在浏览器执行那段js代码,并且与携程官网的参数能对上。他是新建一个窗口浏览器,通过控制台将js代码copy,再进行调用,我试了下真的可以。我就很奇怪了,那就排除跟cookie有关了。

后面我还是继续调试那段js代码(我是在携程网站进行调试的),发现那段js调用了3这个位置的函数,是一个require函数,每次调用都抛了异常,它有异常捕捉的代码,所以不会崩掉。

我再调试着本地代码,发现我是没有这个函数的,我再去新建一个浏览器窗口,window.require输出为一个函数,这下终于知道哪里不对了

所以我只需要在3那个位置添加这个函数就行了,上面也说过,携程网站它调用这个函数都是抛异常的,所以我们这样写就好了。

为了防止巧合,我试了很多次,本地和线上生成的eleven都只差一位,意思是说他肯定还对某一项做了检测。

四、补充

需要注意的几个函数,不是说其他函数不重要,也很重要,但这个比较关键。

五、node环境

再弄node环境之前,必要浏览器执行后的eleven要和携程网的对得上,node环境缺什么,报什么错,再跟本地浏览器进行调试。过程肯定不是一帆风顺,但是解出来的时候,会莫名激动

补充

关于eleven下划线后面的数字,它是根据浏览器一些信息生成数字。然后和前面64位数字进行操作。得出来的。

如果想要真正解出来,还需得继续分析。

1.18更

2020.04.19更

python爬携程_python爬虫-携程-eleven参数相关推荐

  1. python 爬视频下载_Python爬虫进阶之爬取某视频并下载的实现

    这篇文章我们来讲一下在网站建设中,Python爬虫进阶之爬取某视频并下载的实现.本文对大家进行网站开发设计工作或者学习都有一定帮助,下面让我们进入正文. 这几天在家闲得无聊,意外的挖掘到了一个资源网站 ...

  2. python 爬网站 实例_python爬虫实战:之爬取京东商城实例教程!(含源代码)

    前言: 本文主要介绍的是利用python爬取京东商城的方法,文中介绍的非常详细,下面话不多说了,来看看详细的介绍吧. 主要工具 scrapy BeautifulSoup requests 分析步骤 1 ...

  3. python爬京东联盟_python爬虫框架scrapy实战之爬取京东商城进阶篇

    前言 之前的一篇文章已经讲过怎样获取链接,怎样获得参数了,详情请看python爬取京东商城普通篇,本文将详细介绍利用python爬虫框架scrapy如何爬取京东商城,下面话不多说了,来看看详细的介绍吧 ...

  4. python爬取喜马拉雅_Python爬虫实战案例之爬取喜马拉雅音频数据详解

    这篇文章我们来讲一下在网站建设中,Python爬虫实战案例之爬取喜马拉雅音频数据详解.本文对大家进行网站开发设计工作或者学习都有一定帮助,下面让我们进入正文. 前言 喜马拉雅是专业的音频分享平台,汇集 ...

  5. python爬取简历_python爬虫爬取智联简历?

    一.网页请求方式 GET方法和POST 方法.与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分.在发送密码或其他敏感信息时绝不要使用 GET 方法.POST 比 GET ...

  6. python爬取方式_Python 爬虫入门(三)—— 寻找合适的爬取策略

    写爬虫之前,首先要明确爬取的数据.然后,思考从哪些地方可以获取这些数据.下面以一个实际案例来说明,怎么寻找一个好的爬虫策略.(代码仅供学习交流,切勿用作商业或其他有害行为) 1).方式一:直接爬取网站 ...

  7. python爬虫源码_Python—爬虫:王者荣耀全套皮肤【附源码】

    怎么获取全套皮肤?用钱买,或者用爬虫爬取下来~虽然后者不能穿.这个案例稍微复杂一点,但是一个非常值得学习的项目. 具体实现思路: 分析网页源代码结构 找到合适的入口 穷举访问并解析 爬取所有英雄所有皮 ...

  8. python爬取网页内容_Python爬虫原理解析

    笔者公众号:技术杂学铺 笔者网站:mwhitelab.com 本文将从何为爬虫.网页结构.python代码实现等方面逐步解析网络爬虫. 1. 何为爬虫 如今互联网上存储着大量的信息. 作为普通网民,我 ...

  9. python爬表格数据_python爬虫,爬取表格数据

    python爬虫,爬取表格数据 python爬虫,爬取表格数据 python爬虫,爬取全国空气质量指数 编程环境:Jupyter Notebook 所要爬取的网页数据内容如下图 python爬虫代码及 ...

最新文章

  1. eclipse中统计代码行数
  2. telecom js
  3. 解析nginx负载均衡
  4. 内部排序选择、冒泡、插入、希尔、快速、归并、堆排序原理概要和实现
  5. ES6-1 ES6版本过渡历史
  6. 化零为整WCF(14) - 事务(Transaction)
  7. P2710-数列【Splay】
  8. 前端学习(1381):多人管理项目1项目管理搭建
  9. 广联达登录显示服务器异常去回答,广联达设置服务器异常5
  10. .net5 不支持winform_.NET 5.0 RC 2 发布,正式版将在11月.NET Conf大会上发布
  11. React全家桶构建一款Web音乐App实战(五):歌曲状态管理及播放功能实现
  12. 漫画:不止于存储的智能云相册
  13. 【图像处理】基于matlab GUI打靶仿真系统【含Matlab源码 1043期】
  14. SCM供应链管理系统对更多行业未来
  15. 移动通信基础(8)帧结构
  16. 浅谈Android自定义View
  17. 【2018年12月05日】滚动市盈率PE最低排名
  18. 天耀18期 - 11.封装类及常用类【作业】
  19. 视频数据集 | 视频动作识别video recognition常用数据集整理
  20. 【题解】P3975 [TJOI2015]弦论 后缀自动机

热门文章

  1. initWithCoder: 与initWithFrame:
  2. [Eclipse]代码已被写入关于如何切换到unix在新行
  3. js变量作用域和变量提升
  4. 使用MASM02 - Win32汇编语言010
  5. 逻辑分析推理(五小姐问题)
  6. 关于STM32串口空闲中断的问题
  7. IDEA+Maven运行调试MapReduce程序
  8. c#获取本地ip地址网关子网掩码_教你如何修改路由器LAN口IP地址的方法
  9. EOS 智能合约源代码解读 (9)boot合约
  10. [密码学] 复杂性理论基础