记录一次爬虫生成链接过程中遇到的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. Keras(二)Application中五款已训练模型、VGG16框架解读

    Application的五款已训练模型 + H5py简述 Keras的应用模块Application提供了带有预训练权重的Keras模型,这些模型可以用来进行预测.特征提取和finetune. 后续还 ...

  2. POJ3233 Matrix Power Series 矩阵快速幂 矩阵中的矩阵

    Matrix Power Series Time Limit: 3000MS   Memory Limit: 131072K Total Submissions: 27277   Accepted:  ...

  3. CodeForces 917A The Monster 贪心+思维

    As Will is stuck in the Upside Down, he can still communicate with his mom, Joyce, through the Chris ...

  4. CH4301 Can you answer on these queries III 题解

    给定长度为N的数列A,以及M条指令 (N≤500000, M≤100000),每条指令可能是以下两种之一: "2 x y",把 A[x] 改成 y. "1 x y&quo ...

  5. 在CMD命令行进入和退出Python程序

    进入: 直接输入python即可 退出: 方法一:输入exit(),回车 方法二:输入quit(),回车 方法三:CTRL + Z,回车

  6. Python---网络爬虫初识

    1. 网络爬虫介绍 来自wiki的介绍: 网络爬虫(英语:web crawler),也叫网上蜘蛛(spider),是一种用来自动浏览万维网的网络机器人. 但是我们在写网络爬虫时还要注意遵守网络规则,这 ...

  7. .NET 分布式自增Id组件(解决自动分配机器Id、时间回拨问题)

    目录 简介 产生背景 使用方式 原始版 完美版 测试 结尾 简介 IdHelper是一个.NET(支持.NET45+或.NET Standard2+)生成分布式趋势自增Id组件,有两个版本:原始版为基 ...

  8. .NET Core 3.0之深入源码理解Host(二)

      写在前面 停了近一个月的技术博客,随着正式脱离996的魔窟,接下来也正式恢复了.本文从源码角度进一步讨论.NET Core 3.0 中关于Host扩展的一些技术点,主要讨论Long Run Pro ...

  9. 1.mssql和mysql sql如何调优?

    mssql是指微软的SQL Server数据库服务器. mssql常见的调优方法主要分为两类, (1)代码优化,代码优化,我搜集常用到的有以下几点: 1.避免使用select *  语句 2.避免关联 ...

  10. JDK8时间工具类

    JDK8添加了java.time包,提供了很多方便.用得比较多的几个类:Instant 在时间线上模拟单个瞬时点Duration 以秒和纳秒为单位模拟一个数量或时间量.可以使用其他基于持续时间的单位访 ...