payload数据传输,携程查机票接口
网络报文中的payload
通常在传输数据时,为了使数据传输更可靠,要把原始数据分批传输,并且在每一批数据的头和尾都加上一定的辅助信息,比如数据量的大小、校验位等,这样就相当于给已经分批的原始数据加一些外套,这些外套起标示作用,使得原始数据不易丢失,一批数据加上“外套”就形成了传输通道的基本传输单元,叫做数据帧或数据包,而其中的原始数据就是payload
举例在爬虫中传输payload
第一种:
转为json,用data传输
第二种:
用requests中json参数直接传输
携程的查机票接口就是payload传输,主要逻辑,代码就粗糙点
经过观察,在Network中的XHR中得到接口,get中有英文格式,代号,可以获取到传到我们需要的product接口中。
接下来我们在product中找到url,构造请求,最后取到数据。
import requestsheaders = {'accept': '*/*','accept-encoding': 'gzip, deflate, br','accept-language': 'zh-CN,zh;q=0.9','content-length': '268','content-type': 'application/json','cookie': 'Session=SmartLinkCode=U1543361&SmartLinkKeyWord=&SmartLinkQuary=&SmartLinkHost=&SmartLinkLanguage=zh; DomesticUserHostCity=BJS|%b1%b1%be%a9; _abtest_userid=4aeaedfe-384a-4883-bf4e-e28439246968; gad_city=96617ee7af8aedd02bbece8583e0066e; MKT_Pagesource=PC; Union=OUID=&AllianceID=5376&SID=1543361&SourceID=&Expires=1565692623194; _RF1=60.247.91.62; _RSG=x8KubZuzqa3arFYHDvMH2A; _RDG=285674425d1124281e30edbb24486f3343; _RGUID=3934f788-e5e1-423b-a091-5b935188fd64; _ga=GA1.2.1351728126.1565087872; _gid=GA1.2.329384755.1565087872; _bfa=1.1565087814721.3hiuez.1.1565087814721.1565141933600.2.29; _bfs=1.2; _gat=1; _jzqco=%7C%7C%7C%7C1565087824308%7C1.806560392.1565087823363.1565141937050.1565141995499.1565141937050.1565141995499.undefined.0.0.26.26; __zpspc=9.2.1565141937.1565141995.2%231%7C360ppc%7C360%7Cpp%7C%7C%23; appFloatCnt=13; _bfi=p1%3D101023%26p2%3D10320673302%26v1%3D29%26v2%3D28; FD_SearchHistorty={"type":"S","data":"S%24%u4E09%u4E9A%28SYX%29%24SYX%242019-08-16%24%u676D%u5DDE%28HGH%29%24HGH"}','origin': 'https://flights.ctrip.com','referer': 'https://flights.ctrip.com/itinerary/oneway/syx-hgh?date=2019-08-16','sec-fetch-mode': 'cors','sec-fetch-site': 'same-origin','user-agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36',}data = {"flightWay": "Oneway", # 飞行方式 单向的 固定参数"classType": "ALL","hasChild": "false","hasBaby": "false","searchIndex": 1,"mkt_header": "bdnm", # 固定参数"airportParams": [{"dcity": "BJS", # 起点"acity": "SHA", # 终点"dcityname": "北京", # 起点名称 没有起作用"acityname": "上海", # 终点名称 设置错误 暂时也是返回的正确数据"date": "2019-08-16" # 请求时间}]}url = 'https://flights.ctrip.com/itinerary/api/12808/products'response = requests.post(url=url,headers=headers,json=data)
print(response.text)
得到的文本数据,整理下可以使用:
参考的博客:
payload
payload数据传输,携程查机票接口相关推荐
- 和你一起分析网站 - 之携程(机票价格)
前几天在网上看到有人说不清楚怎么爬携程的机票价钱,然后自己去大概看了一下,大概知道是怎么回事,现在和大家分享一下分析的过程. 准备工作 我用到Chrome浏览器,Python里的requests库作为 ...
- 微信小程序体验(1):携程酒店机票火车票
在 12 月 28 日微信公开课上,张小龙对微信小程序的形态进行了阐释,小程序有四个特定:无需安装.触手可及.用完即走.无需卸载. 由于携程这种订酒店.火车票和机票等工具性质非常强的服务,非常符合张小 ...
- python中飞机票购买程序_「最低折扣机票查询」Python 爬取携程所有机票找出最低折扣机票,让你无忧回家过年 - seo实验室...
最低折扣机票查询 前言 对于平时出行大多数人都是选择坐高铁,当然了如果这是对于距离比较近的行程是最划算的,如果对于路途长远的人言,提前购买飞机票价格可能比高铁票更加的便宜,如果我们可以爬取机票数据并分 ...
- 携程国际机票sign破解
携程国际机票sign破解 1.全局搜索大法: 直接搜索对应的时间,定位到最后结果返回的请求. 发现请求头headers sign为变化状态以及参数 transactionID为变化状态(transac ...
- 携程国内机票token
携程国内机票token破解 1. 直接上搜索大法 定位到最后的结果为 products 这个接口里 2.参数中发现token,尝试发现其换日期token不变,换出发地|目的地 token发生改变. ...
- python 携程_请教两个关于使用 python 爬去哪儿,携程等机票网站的问题
初学 python . 近期公司由于业务原因,需要想办法获取到携程与去哪儿的机票信息. 于是我尝试用 python+urllib 对这两个网站上的信息进行抓取. 去哪儿的爬虫代码如下:(初学 pyth ...
- Python 爬取携程所有机票
打开携程网,查询机票,如广州到成都. 这时网址为:http://flights.ctrip.com/booking/CAN-CTU-day-1.html?DDate1=2018-06-15 其中,CA ...
- python爬虫爬取携程国际机票航班信息,返回json串
# -*- coding: utf-8 -*- import requests, json import hashlib import re# 此处的参数是json 出发三字码,达到三字码,出发时间, ...
- tkmybatis 子查询_日均20亿流量:携程机票查询系统的架构升级
携程机票查询系统,日均20亿流量,且要求高吞吐,低延迟的架构设计.于是,提升缓存的效率以及实时计算模块长尾延迟,成为制约机票查询系统性能的关键.本文是携程集团机票业务技术总监宋涛在「云加社区沙龙onl ...
最新文章
- Springboot08-项目单元测试(接口测试)
- 根号x_干货 | 设x=my+n?这不耍流氓嘛
- 关于Nginx参数路径问题的问题
- 数据结构----快速排序
- Android 功耗(19)---LCD背光驱动节电技术-LABC/CABC
- 爬虫基本功之学点JS(一)
- 服务器定期监控数据_机房环境监控的实践【斯必得智慧机房 】
- 马云背后的女人:原来淘宝、支付宝的名字都是她取的
- java ADT的简单介绍
- 【优化算法】帝国主义竞争优化算法(ICA)【含Matlab源码 1635期】
- 设置javadoc模板
- 【计算机网络】网络层 : RIP 协议 ( 路由选择协议分类 | RIP 协议简介 | 信息交换 | 距离向量算法 | 计算示例 )★
- 让电脑崩溃的100种方式(第四种)——结束csrss.exe进程
- 时间序列分析之协整检验
- 2022年全新PHP程序开发在线工单管理系统源码,售后工单系统
- 如何使用阿里云国际版控制台使用海外云服务器-Unirech
- 怎么从视频中提取音频,这四个方法简单实用!
- 西方情人节前一天的话
- ABAP调用外部webservice 问题
- 别了,亲爱的读者朋友们!!让我们别处再相逢!