记录一次爬虫生成链接过程中遇到的sessionStorage存储数据

1.简介

sessionStorage 是HTML5新增的一个会话存储对象,用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。

seesionStorage的存储方式采用key、value的方式。value的值必须为字符串类型(传入非字符串,也会在存储时转换为字符串。

2.应用:艺龙国际机票订单付款页

  

这是按照正常步骤访问进入的艺龙国际机票订单页

下面是链接地址:  http://iflight.elong.com/order/gotofillorder/?p=%7B%22adult%22%3A1,%22arriveCity%22%3A%22SEL%22,%22arriveCityName%22%3A%22%E9%A6%96%E5%B0%94%22,%22backDate%22%3A%222018-11-21%22,%22child%22%3A0,%22classType%22%3A%22YSCF%22,%22classTypeName%22%3A%22%E7%BB%8F%E6%B5%8E%E8%88%B1%2F%E8%B6%85%E7%BA%A7%E7%BB%8F%E6%B5%8E%E8%88%B1%22,%22cacheKey%22%3A%22W3iRbOxobK1rgw4kbRa%22,%22departCity%22%3A%22BJS%22,%22departCityName%22%3A%22%E5%8C%97%E4%BA%AC%22,%22departDate%22%3A%222018-11-18%22,%22flyType%22%3A1,%22flyTypeName%22%3A%22%E5%BE%80%E8%BF%94%22,%22grabCode%22%3A-99,%22tid%22%3A%22ET20181118BJSSEL20181121A1C0I0YSFCRT20181115162010CP23C500II79AJ%22,%22fno%22%3A%5B%22OZ3365%22%5D,%22fdate%22%3A%222018-11-18T10%3A55%3A00%22,%22priceKey%22%3A%22133_RT_BJS_SEL_20181118_20181121_1_0%252320181118_OZ3365_V%257C20181121_OZ3355_V%25230_0%2523TCPL%22%7D&backlist=%2Fflightsearch%2Flist%2F%3FdepartCity%3DBJS%26arriveCity%3DSEL%26departDate%3D2018-11-18%26classType%3DYSCF%26searchType%3D1%26backDate%3D2018-11-21

大家可以点进去看一下,会发现如下图:

这回怎么不加载数据了呢,通过抓包可以了解到正常访问会多出一个异步接口请求:

点击请求链接,发现是个get请求,并且参数都给出来了:

按道理讲,这里参数都给出来了,为什么复制出来访问就不可以了呢,猜测应该是和 session,cookie之类的有关

F12打开开发者工具,

查看cookie和session:

发现,右图比左图多出来一个参数 extObj,后面的值一看肯定是列表搜索页带过来的参数(列表接口里面有这种类似的参数,有兴趣的朋友可以去列表接口找找)

下面我们来修改一下左图不加载数据的页面的会话存储:

双击鼠标,左边填入键 extObj,右边给个值,把右图的值拿过来{"cabinExt":"oGpSF77lwVTMnZFNVeAVtzcrPLUS9527mJxmySV2eOKQbvL8WwMQsykOHyW4laVY814SU2d4QPLUS9527vFO1BVIHFkZccfxFriS46S20FaZ/aJTH9ZnYAF0OkxCTuYovbb4MbQPeadUP2CNRsVitSRhQv79APBgUwHP4SpVSi6ZdgsXwTnsZJ83Lz/v1rSeIjdBNDLr/9HzO8Nz0lJ9DoBjJqFpPLUS9527APqbshgh3djxuSAx2poDVIiMiIhjJ92LwoPLUS95277Xfm8Wa3GEShNFQrC62NcObSA9OrhqP7YgcgV3zWKDVRQwAb70lQNfzdu8oPCX265vYOOWalhMJLFiTl50PwE9ERRI/imVLjkDPLUS95278AjHzpxqTQ/3ll4uieAkZgfwGhDL5NRuKiXSuyJRQvNDdb6HiX9qqBGhPYeh60q4cWToSQ4mWYSlJbEAo5xrwp6UnLLZh47hkkbpPLUS9527DVdeTZP1PzA2Jbz3npaaKOkYJrNAgtE5jIlR4FZpkkGcm74yX7Gy25KwOuzLxw9SksYOF0b111KQB51qRkiezppMo/RRFPLUS9527kXiVQUppc/X2I3cUXPySerYPIfcj72sCI2hD5vERY8PLUS952732Wk2VSbVCADpiJ0fiLrppJQrNNQJ4LZc4SGOWFJtTKc6Zugq1cySkVKFPWNwxxxa5bQGGB65m5p1n017nI9LkwjDjIMdeASr3RElcyEo9cCCsoosOxHsvDjrOPsn","goSegExt":"ecPa/lpAyxh48Zadu1hKoNmPLvJfa30AHv6T70dj374fwiy//ythPLUS9527JPLUS9527MWcWYJaqUN0TfPLUS9527GZ9EzggkFMEc4oZRfklQ2KkbYvGSobySItqPLUS9527UBtOb32k55xo5kNY74qDbbr2hKHilWPLUS9527u/9S92DFQEACXiDS9B6dn85uejePgmJW37PD02k6jhRpMsdog6dR1ReWB4DsFI75WBRo6nYXR5hzJa5UA5ilrB1ubMUuNJmuMrpxGchPJEcZYYht9Xgs9saDWcFoxYCwI8XJNMHiMp0Vfx/XIXluSjyHBNEHKscH0zIvNeujZ5elcL3W1CV4uRbsgET2VeNvcmXphVk0p6NpyB5PLUS95271CXv6Nq7gTBSFoZUSyCCwztNPUelkbAIa7ePLUS9527ruZrJoNLkRc4MU4cJgGPR4u0FyGL6nxEb9VH7eY7JaMnXKk/E7MhLoB0uZDs5M34sohu","backSegExt":"ecPa/lpAyxh48Zadu1hKoNmPLvJfa30AHv6T70dj377Aq7oxmIjaxqRlVDzMGz0udU/J4JyjN8mvYK8Ikxuq0Q4paixYRw0Jk7Gf0FPLUS9527oS/sxnZZWC4gGwmkXE8Ux/PJERQSX92uciOoRRRMhlLR67GG49AnJ8zEU1BO/AE/bamL978k8ULYrh3J4F6w9g/NlzbIMZ0HC8RpwgxLad51n7/VaqeWx/G/1lvO5J0HqmEPNv2MKTkSdeg7rODA9N63epj/sRpmUnNC8AftbYtEYSvYK4/8IEkzc/utof3Qaayc3LarkvS/0jdSCe5ASonNEVMOq0uYuEovfH5fjo/0PAN9VZjcirFgIawcgkVikqeFYpLErnkDE8gxchOiFjFRAaSRJNh5tiV2PLUS9527aCDDzd47QKgsaIeBa9ManpnPLUS952746Ar6PLUS9527qCW1ozQ8HhtIy/J7AyC4Yf"}

朝空白处点一下,会自动保存,然后刷新页面,发现有数据了:

爬虫通常是get请求参数在链接里,或者post请求提交参数,来达成某种目的(订单生成),

把订单链接后面的参数删除 (http://iflight.elong.com/order/gotofillorder/),只要会话存储里有上面的参数,一样可以生成\

这个订单链接后面带了那么多参数,竟然没用,只是障眼法

到这里基本就完成了,我们只需要把参数和订单链接交给前端来处理.

温馨提示

  • 如果您对本文有疑问,请在评论部分留言,我会在最短时间回复。
  • 如果本文帮助了您,也请评论关注,作为对我的一份鼓励。
  • 如果您感觉我写的有问题,也请批评指正,我会尽量修改。
  • 本文为原创,转载请注明出处。

python爬虫遇到会话存储sessionStorage的更多相关文章

  1. 会话存储sessionStorage

    会话存储的工作方式和本地存储的工作方式很接近,不同之处在于数据是各个浏览器上下文私有的,会在文档被关闭时移除(注意是被关闭时才移除,刷新是不会移除的).我们通过全局sessionStorage访问会话 ...

  2. python爬虫专栏学习

    知乎的一个讲python的专栏,其中爬虫的几篇文章,偏入门解释,快速看了一遍. 入门 爬虫基本原理:用最简单的代码抓取最基础的网页,展现爬虫的最基本思想,让读者知道爬虫其实是一件非常简单的事情. 爬虫 ...

  3. HTML5 sessionStorage会话存储

    sessionStorage 是HTML5新增的一个会话存储对象,用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据.本篇主要介绍 sessionStorage(会话存储) ...

  4. Token和SessionStorage(会话存储对象)

    sessionStorage数据只在当前标签页共享 存在本地   关闭浏览器后会清除数据(关闭标签页不会清楚) localStorage数据会存在浏览器中  浏览器关了数据也还在 只有清除缓存才会消失 ...

  5. Python爬虫框架Scrapy实例(三)数据存储到MongoDB

    Python爬虫框架Scrapy实例(三)数据存储到MongoDB任务目标:爬取豆瓣电影top250,将数据存储到MongoDB中. items.py文件复制代码# -*- coding: utf-8 ...

  6. java调用Linux执行Python爬虫,并将数据存储到elasticsearch--(环境脚本搭建)

    java调用Linux执行Python爬虫,并将数据存储到elasticsearch中 一.以下博客代码使用的开发工具及环境如下: 1.idea: 2.jdk:1.8 3.elasticsearch: ...

  7. Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储

    Python爬虫可以说是好玩又好用了.现想利用Python爬取网页股票数据保存到本地csv数据文件中,同时想把股票数据保存到MySQL数据库中.需求有了,剩下的就是实现了. 在开始之前,保证已经安装好 ...

  8. python爬虫27 | 当Python遇到MongoDB的时候,存储av女优的数据变得如此顺滑爽~

    上次 我们知道了怎么操作 MySQL 数据库 python爬虫26 | 把数据爬取下来之后就存储到你的MySQL数据库. MySQL 有些年头了 开源又成熟又牛逼 所以现在很多企业都在使用 MySQL ...

  9. 用Python爬虫爬取广州大学教务系统的成绩(内网访问)

    用Python爬虫爬取广州大学教务系统的成绩(内网访问) 在进行爬取前,首先要了解: 1.什么是CSS选择器? 每一条css样式定义由两部分组成,形式如下: [code] 选择器{样式} [/code ...

随机推荐

  1. vue实现对语言的切换,结合vue-il8n。

    1.安装vue-i18n: npm install vue-i18n 如果npm长时间无反应,或安装失败,可以换成淘宝镜像安装: cnpm install vue-i18n 2.在main.js中引用 ...

  2. adb命令介绍

    1.adb logcat -v time -s ActivityManager:I 获取包名和activity 2. adb logcat "ActivityManager" |g ...

  3. grep : app :Is a directory

    今天在查日志的时候用grep命令,遇到这样的一个问题,grep : app :Is a directory 用的grep命令是这样的:grep -10 '2019-08-14 21:22:39.252 ...

  4. ReentrantReadWriteLock总结

    ReentrantReadWriteLock的流程的一些特性: // ReentrantReadWriteLock.WriteLock.lock()特性: • 已持有读锁的线程不能再持有写锁: • 已 ...

  5. 一道算法问题:一幢 200 层的大楼,给你两个鸡蛋. 如果在第 n 层扔下鸡蛋,鸡蛋不碎,那么从前 n-1 层扔鸡蛋都不碎. 这两只鸡蛋一模一样,不碎的话可以扔无数次. 已知鸡蛋在0层扔不会碎. 提出一个策略, 要保证能测出鸡蛋恰好会碎的楼层, 并使此策略在最坏情况下所扔次数最少.

    今晚要参加网易的笔试,所以一直在刷题,刷到这个题的时候觉得自己的思路很模糊,就去网上百度了一下,找到一个大神给的解决方案: 如下: (http://ppwwyyxx.com/2013/Problem- ...

  6. Python数据库小程序

    源代码: # dict1 是 字典 , 用来对应相应元素的下标,我们将文件转成列表,对应的也就是文件的下标,通过下标来找文件元素 dict1 = {'sort':0 , 'name':1 ,'age' ...

  7. Python(Head First)学习笔记:一

    目录: 1 认识Python:Python的特点.安装.开发环境搭建 2 共享代码:连接共享社区.语法.函数.技巧 3 文件与异常:调试.处理错误.迭代.改进.完善 4 持久存储:文件存储.读写 5 ...

  8. 纯css实现乌云密布的天气图标

    效果 效果如下 ​ 实现思路 使用box-shadow属性画几个灰色的圆,将这些圆错落的组合在一起,形成乌云图案 after伪元素写乌云下的投影 增加动画 dom结构 用两个嵌套的div容器,父容器来 ...

  9. Git学习-安装与创建本地仓库

    前言 以前公司进行项目的版本管理都是用svn,最近公司推荐用git,把svn给关闭了.没办法,拿来主义.网上一番猛操作,勉强也能用了,给自己做个笔记. git安装 因为我用的是windos系统,在Wi ...

  10. pageable多字段排序问题

    Sort sort = new Sort(Sort.Direction.DESC, "createdate") .and(new Sort(Sort.Direction.AES, ...