因为过年在家,没什么事做,闲来就想来试试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实现思路相关推荐

  1. 夺命雷公狗---javascript NO:27 通过json调用12306查询车次信息

    出发地:广州 目的地:北京 查询 收费接口:数据聚合 http://www.juhe.cn/ 注册账号,申请12306接口 进入控制应用里面里面有一个 应用名称:  12306API 调用数据:   ...

  2. python爬虫——12306查询车次

    python爬虫--12306查询车次 使用抓包工具 中文地名转地名参数代码 使用12306提供的查询api进行查询 实现完整代码 使用抓包工具 首先登陆12306 点击查询:同时使用network抓 ...

  3. Python爬虫——12306网站车次信息

    Python爬虫--12306网站车次信息 相信每一个人都听说过谷歌.百度等浏览器,我们在在输入栏中输入我们想要的关键字,便会出现与我们输入关键字有关的网页.那么这些数据时是怎么来的呢?其实这跟网络爬 ...

  4. python 爬取12306网站车次信息

    12306网站爬取车次信息 本想着可以做一个类似于查询详细车次信息的小工具,但是不尽人意,12306网站爬取的车次信息加密了,研究了一个下午也没有研究出其中全部的信息解密: 爬取的信息如下(举一个例子 ...

  5. python 12306查询不到车次_python爬取12306火车车次信息

    #-*- coding:utf-8 -*- importrequestsimportreimportjson#关闭https证书验证警告 requests.packages.urllib3.disab ...

  6. python爬取12306_python爬取12306的车次信息

    #静态的数据一般在elements中(复制文字到sources按ctrl+f搜索.找到的为静态),而动态去network中去寻找相关的信息 import requests import re def ...

  7. python爬取12306_python爬取12306火车车次信息

    #-*- coding:utf-8 -*- importrequestsimportreimportjson#关闭https证书验证警告 requests.packages.urllib3.disab ...

  8. C++使用libCurl访问12306网站实现登录查询车次信息

    作为学习libcurl的小作业, 使用libcurl访问12306,成功获取验证码,目前不能自动识别,需要手动输入:

  9. 用学号、姓名查询学生信息python

    """ 功能:按功能查询学生记录 作者: 日期: """ students = []f = open('学生.txt')for line i ...

最新文章

  1. 韩宇:如何准备天池深度学习比赛?
  2. LOJ-10096(强连通+bfs)
  3. 聊聊高并发(二十八)解析java.util.concurrent各个组件(十) 理解ReentrantReadWriteLock可重入读-写锁
  4. 怎么看cudnn的版本好_针对此次版本削弱,怎么用好嫦娥!
  5. windows 端微信多开
  6. 信息学奥赛一本通C++语言——1097: 画矩形
  7. linux apache 2.2下载,Apache HTTP Server 2.2.26 发布下载
  8. Ubuntu开机直接进入tty1,无法直接进入的图形化界面的解决方法
  9. PHP 密码生成器 计算生成时间
  10. 超声波传感器测距实验430
  11. 出现Illegal invocation的报错
  12. Spring cloud微服务 Hystrix熔断器
  13. 服务器千兆网卡芯片,Intel 82574L and 82576 千兆网卡芯片区别.pdf
  14. 大数据开发是做什么的?怎样入门?
  15. 2021-10-21《能源与节能》能源环保省级期刊
  16. hive split取倒数第二位
  17. 浏览器上的Cookies有什么用?超级浏览器防关联如何实现?
  18. 滴滴公布出行大数据:全年约5.3亿次行程分享
  19. 城市公共数据治理初窥
  20. 【设计模式】【07】建造者模式

热门文章

  1. 如何让win10系统打开照片、图片使用照片查看器
  2. 动态滤波补偿装置谐波治理
  3. 免费Silverlight主机空间申请
  4. oracle查询结果添加序列,SQL查询结果增加序列号
  5. 如何在安装 Ubuntu 22.04 时加密全盘
  6. 苹果iOS app上架流程
  7. 考研数二第九讲 函数凹凸性证明,求极值以及拐点及渐近线
  8. 倾向得分匹配(PSM)的原理以及应用
  9. 一种具有椭圆型金属钛球体的C4炸弹
  10. python中没有arcpy怎么办_AGS Python开发-ArcPy开发基础