因为过年在家,没什么事做,闲来就想来试试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. 时间序列入门教程,从理论到业务实践,Kaggle kernels Master 整理分享
  2. 独家 | 贝叶斯信念网络初探(附链接)
  3. Java5的 线程并发库
  4. php正则表达式应用,PHP 正则表达式应用
  5. 程序员效率:职业倦怠的理解
  6. 第5课 开心的金明《聪明人的游戏:信息学探秘.提高篇》
  7. Android 最火高速开发框架AndroidAnnotations使用具体解释
  8. 基于hutool实现简单的加解密
  9. 从一个简单的main方法执行谈谈JVM工作机制
  10. 条令考试小程序辅助器_小程序条令考试 微信小程序条令考试答题器
  11. warning: control reaches end of non-void function [-Wreturn-type]
  12. 如何将flv转换成mp3格式
  13. 使用青龙面板BP京东豆
  14. IDEA项目can not reconnect错误
  15. 蓝桥杯青少年创意编程C++组赛前集训教程包
  16. 智能消防应急照明和疏散指示系统的应用
  17. C语言—指针数组与数组指针
  18. Android中MaterialSearchView(搜索框)的简单实用
  19. dataGrip连接clickhouse时,时间字段显示差八小时问题
  20. 一个简易版的spice VDI 云桌面 客户端 系统

热门文章

  1. 2016年英语学习——2月
  2. JavaOOP 第十章 多线程
  3. python语言单词接龙_Python单词接龙小程序
  4. ESP32设备驱动-BMP183温度传感器驱动
  5. typescript中type、interface的区别
  6. 信阳农林学院计算机应用好就业吗,信阳农林学院怎么样好就业吗?属于几本?王牌专业是什么...
  7. 项目经理应该如何管理自己的时间
  8. uni-app如何授权:获取code、openid、token,用户信息
  9. 江苏泗洪计算机学校怎么样,泗洪一大波学校先后被教育部点名!有没有你母校?...
  10. 联想p720装系统_ThinkStation P720