python爬虫12306查票
以查询某日的从上海到北京的高铁票为例(此例只查票,不购票,只作为入门级练习案例。)
首先打开12306进行页面分析
车票的数据,都是动态加载的,动态加载的数据不在网页源码中。可以从Fetch/XHR的Preview中找到。
如图我们可以从中看到我们需要的车票信息。
要发起请求的url,不一定是上方的url。而是找到目标信息后,该信息对应的url。
从headers中找到该页面的url。经测试,还不足以得到预期的结果,遂再在代码中加上cookie。
import requestsdef query():headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36','Cookie': '_uab_collina=163781789801657648754614; JSESSIONID=17D8DC27974BF574F488C751D613020D; guidesStatus=off; highContrastMode=defaltMode; cursorStatus=off; _jc_save_fromStation=%u5317%u4EAC%2CBJP; _jc_save_toStation=%u957F%u6C99%2CCSQ; _jc_save_fromDate=2021-11-29; _jc_save_toDate=2021-11-25; _jc_save_wfdc_flag=dc; RAIL_EXPIRATION=1638084218471; RAIL_DEVICEID=GjoD0SgmuOrn8I5Th6sUW3ladtrYirj_WuUcpoeRWAOdZLc63TmPOpT1z1CkycXEQYSSIJSyipw1YGROKouZDXPDwH5rr_S0Dctws6kdtfdau9QTrufBKnxOwEWaGsS0L8y3sluymB5TlCqIAWN3nNP-jxbLyUgg; BIGipServerpassport=887619850.50215.0000; route=495c805987d0f5c8c84b14f60212447d; BIGipServerotn=2547450122.24610.0000; BIGipServerportal=3067347210.17695.0000'}url = 'https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=2021-11-29&leftTicketDTO.from_station=BJP&leftTicketDTO.to_station=CSQ&purpose_codes=ADULT'response = requests.get(url, headers=headers)# print(response.content.decode('utf-8'))# print(response.json()['data']['result']) return response.json()['data']['result']# 解析数据
for i in query():li = i.split('|') if li[32] != '无' and li[32] != '':print(f'{li[3]}有票的,{li[32]}')else:print(f'{li[3]}无票')
代码运行结果如下所示(部分):
python爬虫12306查票相关推荐
- 快过年了,Python实现12306查票以及自动购票....
嗨害大家好鸭!我是小熊猫~ 明天就是2023年啦~ 还有谁像我小熊猫一样没有回家的? 这次康康能不能12306抢票回家!!! Python实现12306查票以及自动购票 [代码来源]: 青灯教育-自游 ...
- Python实现12306查票以及自动抢票
市场上很多火车票抢票软件大家应该非常熟悉,但很少有人研究具体是怎么实现的,所以觉得很神秘,其实很简单.下面使用Python模拟抢票程序,给大家揭秘抢票到底是怎么回事. 目录 环境使用 相关模块 思路 ...
- 过年回家抢不到火车票?教你用 Python 开发 12306 查票神器
临近年关,不少在外的游子都急着买票回家,但这时候的火车票,总是供不应求的. 我想到了几年前徐峥主演的<人在囧途>,春运期间,一个老板,一个民工,同时都因为买不到火车票而囧态百出,甚至辗转到 ...
- python 12306查询不到车次_过年回家抢不到火车票?Python 开发 12306 查票神器
临近年关,不少在外的游子都急着买票回家,但这时候的火车票,总是供不应求的. 我想到了几年前徐峥主演的<人在囧途>,春运期间,一个老板,一个民工,同时都因为买不到火车票而囧态百出,甚至辗转到 ...
- python12306抢学生票票下载_过年回家抢不到火车票?教你用 Python 开发 12306 查票神器...
临近年关,不少在外的游子都急着买票回家,但这时候的火车票,总是供不应求的. 我想到了几年前徐峥主演的<人在囧途>,春运期间,一个老板,一个民工,同时都因为买不到火车票而囧态百出,甚至辗转到 ...
- python实现12306余票
今天就和大家一起来讨论一下python实现12306余票查询(pycharm+python3.7),一起来感受一下python爬虫的简单实践 我们说先在浏览器中打开开发者工具(F12),尝试一次余票的 ...
- Python之12306余票查询
简单的Python学习,用Python完成一个12306余票查询- Python之12306余票查询 参考资料来自Python 实现火车票查询工具 需要用到的第三方库 requests,使用 Pyth ...
- Python爬虫——12306网站车次信息
Python爬虫--12306网站车次信息 相信每一个人都听说过谷歌.百度等浏览器,我们在在输入栏中输入我们想要的关键字,便会出现与我们输入关键字有关的网页.那么这些数据时是怎么来的呢?其实这跟网络爬 ...
- python爬虫——12306查询车次
python爬虫--12306查询车次 使用抓包工具 中文地名转地名参数代码 使用12306提供的查询api进行查询 实现完整代码 使用抓包工具 首先登陆12306 点击查询:同时使用network抓 ...
- 用Python实现一个简单好用的12306查票系统
春节快到了,又要到一年中紧张刺激的时候了! 买票回家! 今天教大家想做一个简单好用的查票系统! 本次用到环境和模块 环境: Python 3.6 Pycharm 模块 requests pandas ...
最新文章
- 2020年行政区划代码_2020年柳州市行政区划,了解柳州市有几个区,详细数据
- phpcms V9利用num++实现多样形式列表标签调用
- 虫师python appium自动化测试书_Appium移动自动化测试(一)--安装Appium
- WindowsMobile/Win Form-界面自适应
- 实现日志管理的两种方式:aop、拦截器
- 前端:JS/23/JS内置对象(String对象,Array对象,Date对象,Boolean对象,Number对象,Math对象),实例:求圆的面积,求直角三角形
- 如何保证战略落地_博雅视野丨大健康战略时代,全龄康养如何落地?
- 怎么样才能防御dos攻击
- php绘制的图像是什么格式,图片一般是什么格式
- 在线ps,修改证件照背景色
- 24GHz多通道毫米波雷达传感器开发-前言
- Typora使用技巧 | 各种跳转 【必备】
- excel高级筛选怎么用_表格技巧—Excel高级筛选怎么用
- mac-lol.tk syjc.html,苹果 MacBook Air笔记本一键u盘装系统win7教程
- 英特尔遭遇「灾难级」财报!裁员、砍业务、董事会主席辞职,甚至给不出2023业绩预期
- mysql存储过程 2000工资加200_花200万留学才拿2000工资?瞎扯!海归平均工资真相是这样的~...
- 指定一个软件的运行独立显卡
- matlab读取excel表作图,读取Excel表格数据进行绘图-如何将excel表格中大量数据导入matlab中并作图...
- 中国联通5G终端白皮书——第三阶段
- 【Wordpress】分享500多款国外WordPress经典主题 其之六