关于12306查询车次信息python实现思路
因为过年在家,没什么事做,闲来就想来试试12306抢票软件,目前查询功能已经实现
本来是想用Java来开发的,但是毕竟这种软件python开发效率显然要高的多,正好也是自学python的一次机会,因此使用python进行开发
首先打开12306官网,随意查询一列车次,f12,发现查询返回的页面实际上是一个普通页面并没有车次信息,那么数据应该是动态添加上去的,查看所有返回信息
接下来就简单了,多次查询不同车次后发现查询数据的值有三个,时间,起点,终点,其中起点终点用字母代替,ctrlF查找字母,发现是在另外一个文件里,并且是写死的,那么数据查询也就可以实现了
import requests
date="时间"
f_station="起点"
t_station="终点"
#浏览器对象
s=requests.session()
#清除自带的头文件信息
s.headers.clear()
#写入头文件信息
s.headers=({'User-Agent': r'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36','Host': 'kyfw.12306.cn','X-Requested-With': 'XMLHttpRequest','Accept-Encoding': 'gzip, deflate, br','Accept-Language': 'zh-CN,zh;q=0.9'})
#执行访问操作
cx=s.request(method="GET",url="https://kyfw.12306.cn/otn/leftTicket/queryZ?leftTicketDTO.train_date="+date+"&leftTicketDTO.from_station="+f_station+"&leftTicketDTO.to_station="+t_station+"&purpose_codes=ADULT")
cx.json()["data"]["result"]
requests是python的一个模块,可以模拟浏览器进行网页的访问,地址对应的字母在https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.9091中有,自行查询即可
关于12306查询车次信息python实现思路相关推荐
- 夺命雷公狗---javascript NO:27 通过json调用12306查询车次信息
出发地:广州 目的地:北京 查询 收费接口:数据聚合 http://www.juhe.cn/ 注册账号,申请12306接口 进入控制应用里面里面有一个 应用名称: 12306API 调用数据: ...
- python爬虫——12306查询车次
python爬虫--12306查询车次 使用抓包工具 中文地名转地名参数代码 使用12306提供的查询api进行查询 实现完整代码 使用抓包工具 首先登陆12306 点击查询:同时使用network抓 ...
- Python爬虫——12306网站车次信息
Python爬虫--12306网站车次信息 相信每一个人都听说过谷歌.百度等浏览器,我们在在输入栏中输入我们想要的关键字,便会出现与我们输入关键字有关的网页.那么这些数据时是怎么来的呢?其实这跟网络爬 ...
- python 爬取12306网站车次信息
12306网站爬取车次信息 本想着可以做一个类似于查询详细车次信息的小工具,但是不尽人意,12306网站爬取的车次信息加密了,研究了一个下午也没有研究出其中全部的信息解密: 爬取的信息如下(举一个例子 ...
- python 12306查询不到车次_python爬取12306火车车次信息
#-*- coding:utf-8 -*- importrequestsimportreimportjson#关闭https证书验证警告 requests.packages.urllib3.disab ...
- python爬取12306_python爬取12306的车次信息
#静态的数据一般在elements中(复制文字到sources按ctrl+f搜索.找到的为静态),而动态去network中去寻找相关的信息 import requests import re def ...
- python爬取12306_python爬取12306火车车次信息
#-*- coding:utf-8 -*- importrequestsimportreimportjson#关闭https证书验证警告 requests.packages.urllib3.disab ...
- C++使用libCurl访问12306网站实现登录查询车次信息
作为学习libcurl的小作业, 使用libcurl访问12306,成功获取验证码,目前不能自动识别,需要手动输入:
- 用学号、姓名查询学生信息python
""" 功能:按功能查询学生记录 作者: 日期: """ students = []f = open('学生.txt')for line i ...
最新文章
- 韩宇:如何准备天池深度学习比赛?
- LOJ-10096(强连通+bfs)
- 聊聊高并发(二十八)解析java.util.concurrent各个组件(十) 理解ReentrantReadWriteLock可重入读-写锁
- 怎么看cudnn的版本好_针对此次版本削弱,怎么用好嫦娥!
- windows 端微信多开
- 信息学奥赛一本通C++语言——1097: 画矩形
- linux apache 2.2下载,Apache HTTP Server 2.2.26 发布下载
- Ubuntu开机直接进入tty1,无法直接进入的图形化界面的解决方法
- PHP 密码生成器 计算生成时间
- 超声波传感器测距实验430
- 出现Illegal invocation的报错
- Spring cloud微服务 Hystrix熔断器
- 服务器千兆网卡芯片,Intel 82574L and 82576 千兆网卡芯片区别.pdf
- 大数据开发是做什么的?怎样入门?
- 2021-10-21《能源与节能》能源环保省级期刊
- hive split取倒数第二位
- 浏览器上的Cookies有什么用?超级浏览器防关联如何实现?
- 滴滴公布出行大数据:全年约5.3亿次行程分享
- 城市公共数据治理初窥
- 【设计模式】【07】建造者模式