獲取12306所需剩餘的票

1、登陸官網,找到所需票頁面:

2、按F12然後點擊查詢:

3、先安裝requests 第三方庫:

  #pip install requests

4、寫入以下代碼:

 1 #!/usr/bin/env python3
 2 # -*- coding: UTF-8 -*-
 3
 4 import requests
 5
 6 #獲取12306官網的數據url
 7 def pacong():
 8     reque = requests.get(‘https://kyfw.12306.cn/otn/leftTicket/queryX?leftTicketDTO.train_date=2019-03-09&leftTicketDTO.from_station=HZH&leftTicketDTO.to_station=BJP&purpose_codes=ADULT‘)
 9
10     return reque.json()[‘data‘][‘result‘]
11
12 for i in pacong():
13     tem_list = i.split(‘|‘)
14
15     if tem_list[32] != ‘‘ and tem_list[32] != ‘无‘:
16         print("有", tem_list[3], "二等座\t", "出发时间:", tem_list[8], "到达时间:\t", tem_list[9], tem_list[32])
17     else:
18         print("无")
19 """
20     #查看需要的信息所在的下標
21     print (tem_list)
22     p = 0
23     for n in tem_list:
24         print (p, n)
25         p += 1
26 """

5、結果:

原文地址:https://www.cnblogs.com/hui-shao/p/python_12306.html

时间: 2024-08-30 10:34:22

獲取12306所需剩餘的票的相关文章

bzoj 1406: [AHOI2007]密码箱 二次剩餘

1406: [AHOI2007]密码箱 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 701  Solved: 396[Submit][Status] Description 在一次偶然的情况下,小可可得到了一个密码箱,听说里面藏着一份古代流传下来的藏宝图,只要能破解密码就能打开箱子,而箱子背面刻着的古代图标,就是对密码的提示.经过艰苦的破译,小可可发现,这些图标表示一个数以及这个数与密码的关系.假设这个数是n,密码为x,那么可以得到如下表述: 密码

實際案例: 已知要獲取臨時票証 (JsApi Ticket) 才能調用的接口

需獲取票証才能調用的接口,簡單列示如下: 一.基礎類 1. wx.checkJsApi (當前客戶端是否支持指定JS) 二.分享類 1.wx.onMenuShareTimeline (分享到朋友圈)2.wx.onMenuShareAppMessage (分享給好友)3.wx.onMenuShareQQ (分享到QQ)4.wx.onMenuShareWeibo (分享到微博)5.wx.onMenuShareQZone (分享到QQ空間) 三.圖片類1.wx.chooseImage (相冊選圖)2.

自動獲取外網IP并發郵件

問題: 公司有一Web系統需開放給香港Office公司查詢資料,但最近動態域名需實名認證, 因系統較小型,非公開大範圍使用,所以再認證一域名也沒多大必要, 所以想定時生成一封能查詢外網IP的郵件發送給相關同事. 方案: 1.新建一個VBS文件用來獲取IP和發送郵件: 1 On Error Resume next 2 3 Set objEmail=CreateObject("CDO.Message") 4 5 Call SendMail() 6 7 Sub SendMail 8 Url=

针对源代码和检查元素不一致的网页爬虫——利用Selenium、PhantomJS、bs4爬取12306的列车途径站信息

整个程序的核心难点在于上次豆瓣爬虫针对的是静态网页,源代码和检查元素内容相同:而在12306的查找搜索过程中,其网页发生变化(出现了查找到的数据),这个过程是动态的,使得我们在审查元素中能一一对应看到的表格数据没有显示在源代码中.这也是这次12306爬虫和上次豆瓣书单爬虫的最大不同点. 查找相关资料,我选择使用Selenium的PhantomJS模拟浏览器爬取源代码,这样获取到的datas包含了我需要的(查找搜索出的)途径站数据. 暂时把整个程序分为了这几个部分:(1)提取列车Code和No信息

java抓取12306火车余票信息

最近在弄一个微信的公众帐号,涉及到火车票查询,之前用的网上找到的一个接口,但只能查到火车时刻表,12306又没有提供专门的查票的接口.今天突然想起自己直接去12306上查询,抓取查询返回的数据包,这样就可以得到火车票的信息.这里就随笔记一下获取12306余票的过程. 首先,我用firefox浏览器上12306查询余票.打开firefox的Web控制台,选上网络中的"记录请求和响应主体" 然后输入地址日期信息之后点击网页上的查询按钮,就能在Web控制台下看到网页请求的地址了: 就是图片中

抓取12306余票

目的:抓取12306余票随时间的变化规律,推导出12306的放票规则,从而能制定更好的抢票策略. 难点.问题: 准备抓取多少个站点 抓取的日期范围多大 如何储存数据.变量有查询开始站点.查询结束站点.出发日期. 数据分析.上面的数据足够多:比如整个预售期30天,乃至整年的数据,尤其是春运这个高峰期. 可能会遇到12306的反爬虫策略,具体问题到时具体分析.

實際案例: 獲取臨時票証 (JsApi Ticket)

專案中選用大名鼎鼎的 Senparc 微信開發套件 獲取臨時票證處理常式的程式碼 (GetgVXinInfo.ashx) using Senparc.Weixin; using Senparc.Weixin.MP; using Senparc.Weixin.MP.Entities; using Senparc.Weixin.MP.CommonAPIs; using ShouJia.BO; using ShouJia.Facades; using ShouJia.Debugger; using S

解決Spring的定時器如何獲取項目的部署路徑

最近在寫項目的時候遇到在Spring的定時器下需要用到項目路徑的,但是在定時器中,沒法獲取request或者session不能直接調用他的方法直接獲得,那麼怎麼解決這樣的問題呢?其實還是有辦法的,正所謂條條道路通羅馬,spring這麼強大怎麼可能被這點小事給整過去. 我舉個例子吧,加入我們需要些這麼個定時器,他的需求如下:每天進行一次項目生成的一次性的文件進行刪除 那麼定時器代碼如下: package com.smartsoft.quartz; import java.io.File; impo

C#-Windows服務以LocalSystem賬戶安裝的話無法獲取我的文檔路徑

如圖,如果Window服務以上圖 Account安裝運行,則無法獲取到 以下路徑: System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) 解决方案: 1.将LocalSystem改成User,然后编译安装程序,在安装的时候填上当前的 登录用户的 账号信息即可. 参考资料: ServiceProcessInstaller类的Account属性值可以是ServiceAcount枚举的任一值,见表2 值 意义