5

教你如何完成一个查票系统利用Python实现123006自动抢票啦~

 2 years ago
source link: https://blog.csdn.net/L010409/article/details/122318184
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

教你如何完成一个查票系统利用Python实现123006自动抢票啦~

车厘子@ 2022-01-05 11:32:52 1219
同时被 2 个专栏收录
35 篇文章 0 订阅

哈喽铁汁们这不马上要放年假了嘛,昨天我们公司收到放假安排的通知可高兴坏了!不知道你们又通知放假了没啊?是不是又得为春节抢票发愁了呢?别担心哦小编一想到这就马不停蹄的准备出这一期了

å¾ç

想领取更多完整源码跟Python学习资料可私信我或点击这行字体 

当你想查询一下火车票信息的时候,还在为打开无响应的12306官网和广告n秒的APP吗而懊恼吗?那就教大家想做一个简单好用的查票系统

图片

本次用到环境和模块

环境:

  • Python 3.6

  • Pycharm

模块

  • requests

  • pandas

模块在cmd里pip install +模块名  就可以安装好了

基本思路:

一. 这些数据内容是从哪里的?

通过开发者工具进行抓包分析, 分析具体的数据是从哪里的
可以通过用搜索 你想要数据内容, 会给你返回相应的数据

二. 代码实现步骤

确定需求 >>> 发送请求 >>> 获取数据 >>> 解析数据 >>> 保存数据

  1. 发送请求, 对于相应的数据包url地址发送请求

  2. 获取数据, 获取响应体json字典数据

  3. 解析数据, 直接通过键值对提取数据

å¾ç

 只要在命令行敲一行命令就能获得你想要的火车票信息!

实现自动抢票

前期准备:

  1. Python版本:Python3

  2. 运行平台:Windows

  3. IDE:PyCharm

  4. 浏览器:Chrome

项目介绍:

本项目利用 python 实现对 12306 网站的爬取,并查询相应的时间、座次类型、剩余票数等,方便朋友们抢票。众所周知,12306是一个安全级别比较高的网站,要想爬去绝非易事,特别是对相应验证码的处理,足以让一般的 python 工程师望而却步了。今天,我们就来简单的爬取一下这个神奇的网站。

网站信息:

12306 官网(注:本项目所获取的信息全部为网上公开的可取信息)

具体步骤:

首先,我们导入第三方库

之后,写一个函数

接下来就往函数里写程序吧!

我们先来获取网页信息

图片

img01

首先,我们发送请求。

response =requests.get('https://kyfw.12306.cn/otn/leftTicket/queryA?leftTicketDTO.train_date=2018-09-23&leftTicketDTO.from_station=BJP&leftTicketDTO.to_station=TJP&purpose_codes=ADULT')

由于显示编码格式与原格式不同,导致无法正确的处理所获去的数据;于是我们先转换一下编码格式。

图片

img02

为方便接下来的数据处理,我们需将数据转换成字典格式

我们现在来编写序号

接下来,我们得查看各个坐次所对应的序号了;可以在调试的时候输出查值

 通过调试程序,我们找到相应信息的序号

  • #23 =软卧

  • #26 = 无座

  • #28 = 硬卧

  • #29 = 硬座

  • #30 = 一等座

  • #31 = 二等座

  • #32 = 商务座

最后,只需找到你需要买的座次就行了。

到这就分享结束了!学会的铁汁可以自己试一试哟~记得给小编三连哦!家人们的支持是小编更新最大的动力💪💪

春节将近, 希望大家快乐的敲代码,抢票成功,开心回家!❤❤❤


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK