python数字对应车站_python爬虫查询车站信息

#车站信息查询

import requests

#1.获得url(存取车站信息的url)并读取,根据获得信息的特点去掉无用的信息并转换存储到列表中

url="https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.9090"

txt=requests.get(url).text

#print(txt)

inf=txt[:-2].split("@")[1:] #得到的是存储所有车站信息的列表

#print(inf)

#2.通过循环把列表在进行分割转换成新的列表,取其中一项(车站顺序编号)当做字典的key,其余当作值,存储到新的字典中

stations={}

for record in inf:

rlist=record.split("|")

stations[int(rlist[-1])]={"cname":rlist[1],"id":rlist[2],"qp":rlist[3],"jx":rlist[4]}

#print(stations[0])

#print(stations.get(2848))

#print(stations.values())

#3.判断查询条件是否存在,存在如果唯一则打印并跳出循环,不唯一则显示查询的所有的结果,提供选择,根据选择的信息打印出结果然后跳出循环,不存在则打印提示信息,重新输出

while True:

s1=input("出发站:")

flag=0

result=[]

for station in stations.values():

if s1 in station.values():

#print(station)

result.append(station)

flag=1

if flag:

break

else:

print("没有这个车站!")

print("请重新输入!")

if len(result)==1:

resultId=result[0]["id"]

print("你输入的出发车站是%s,对应的车站ID是%s"%(result[0]["cname"],resultId))

else:

print("你输入的条件比较模糊,请在以下站中进行选择:")

for i in range(len(result)):

print(i+1,result[i]["cname"],result[i]["id"])

sel=int(input("你的选择:"))-1

resultId=result[sel]["id"]

print("你输入的出发车站是%s,对应的车站ID是%s"%(result[sel]["cname"],resultId))

while True:

s2=input("目的站:")

flag2=0

result2=[]

for station in stations.values():

if s2 in station.values():

#print(station)

result2.append(station)

flag2=1

if flag2:

break

else:

print("没有这个车站!")

print("请重新输入!")

if len(result2)==1:

result2Id=result2[0]["id"]

print("你输入的目的车站是%s,对应的车站ID是%s"%(result2[0]["cname"],result2Id))

else:

print("你输入的条件比较模糊,请在以下站中进行选择:")

for i in range(len(result2)):

print(i+1,result2[i]["cname"],result2[i]["id"])

sel2=int(input("你的选择:"))-1

result2Id=result2[sel2]["id"]

print("你输入的目的车站是%s,对应的车站ID是%s"%(result2[sel]["cname"],result2Id))

#生成一条带查询的url(url在浏览器开发者模式查找)

qurl="https://kyfw.12306.cn/otn/leftTicket/queryZ?leftTicketDTO.train_date=2019-01-14&leftTicketDTO.from_station=%s&leftTicketDTO.to_station=%s&purpose_codes=ADULT"

print(qurl %(resultId,result2Id))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/554371.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

优酷视频如何进行连续播放?

优酷视频如何进行连续播放? 您可按下列方式打开和关掉持续播发: 移动端:开启优酷app-左上方【设定】-开启或关掉【持续播发】按键就可以。 pc端:开启优酷pc客户端-点一下左上方【设定】-启用或不启用【自始至终持续播发】就可以…

yaw公式_坐标系和yaw, pitch, roll等基础概念

坐标系右手坐标系:把右手拇指食指中指伸直并正交,拇指X,食指Y,中指Z。一般无特殊说明,都是右手坐标系。右手坐标系的旋转正方向:从轴的正方向看向原点,逆时针方向即是旋转正向。或者&#xff0c…

腾讯视频下载的视频怎么剪辑_怎样卸载腾讯视频

腾讯视频影音是一款界面轻松友好,功能全面完善,方便好用,绿色安全,完全免费的、专注视频播放的客户端软件,您可运行腾讯视频影音,在线享受腾讯视频网站内全部免费高清正版视频。腾讯视频可以在线享受丰富多…

迈普路由器访问控制列表配置命令_如何选购企业路由器?选购企业路由器需注意什么...

3、企业自身的需求选择路由器时,首先考虑的是企业自身的需求,主要表现在下面9个原则:实用性原则。采用成熟的、经实践证明其实用性的技术。这能满足现行业务的管理,又能适应3~5年内业务发展的要求。可靠性原则。设计详细的故障处理…

腾讯视频网页下载_腾讯视频怎么下载视频

本文给大家整理了腾讯视频网页下载_腾讯视频怎么下载视频方面的内容。腾讯视频独播剧质量还是可以的,比较给力的是腾讯视频大量买入了老剧的版权,不乏一些比较经典的港剧,还把这些老剧修复了。腾讯视频播放器是一款支持多种音视频格式的主流播…

bazel 链接_bazel-链接第三方动态库,静态库。

demo4示例 链接第三方动态库,静态库。使用cc_import链接外部库。原理是通过cc_import规则导入第三方库,然后cc_binary再依赖cc_import规则的target,也即依赖第三方库。demo4目录树├── link│ ├── BUILD│ ├── include│…

腾讯视频下载后为什么还需联网看_腾讯视频如何下载离线视频

今天播放器家园网分享一下腾讯视频下载后为什么还需联网看_腾讯视频如何下载离线视频,希望可以帮助大家。腾讯视频有很多小功能是其他播放器没有的,大家可以下载后慢慢探索一下,小编非常喜欢的一个功能就是看电视剧的时候可以选择只看某个演员…

2台服务器负载均衡后synchronized_一篇有趣的负载均衡算法实现

负载平衡(Load balancing)是一种在多个计算机(网络、CPU、磁盘)之间均匀分配资源,以提高资源利用的技术。使用负载均衡可以最大化服务吞吐量,可能最小化响应时间,同时由于使用负载均衡时,会使用多个服务器节点代单点服务&#xff…

腾讯视频下载安装免费装到手机_腾讯视频怎么上传个人本地视频

不管这个腾讯视频好用与否,都有一大批用户,本文播放器家园网小编分享腾讯视频下载安装免费装到手机_腾讯视频怎么上传个人本地视频。VIP会员频道聚合海量VIP品质内容,连续签到解锁惊喜奖励、摇一摇抽VIP天卡、领取会员专属权益,快…

php mysql 中文_PHP连接MySQL查询结果中文显示乱码解决方法

我们首先假设数据库中采用的编码为UTF-8这时我们在PHP页面中应当首先添加此处charset的值utf-8必须与文件保存时的编码类型一样之后在数据库查询前添加mysql_query("set names utf8");该行语句的编码值也应当与上面的编码值一样。总而言之,网页保存的编码…

怎样将腾讯视频下载到的电影传入手机_腾讯视频怎么缓存视频

不管这个腾讯视频好用与否,都有一大批用户,本文播放器家园网小编分享怎样将腾讯视频下载到的电影传入手机_腾讯视频怎么缓存视频。腾讯视频拥有独立的播放界面,软件采用独立的播放界面进行播放,用户点击喜欢的影视播放之后不会干扰…

腾讯视频主演角色弹幕怎么发

本文播放器家园网小编给大家分享“腾讯视频主演角色弹幕怎么发”。只需要打开腾讯视频,就可以在线享受腾讯视频网站内全部免费高清正版视频、最新影视大片、最独家的综艺、旅游、纪录片,在众多的播放器当中,腾讯视频堪称完美。腾讯视频可以在…

mysql 重装之后_mysql重装之后 复制data

(哇,编程小白的第一篇博客丫,激动)Q one:mysql需要重装,数据该怎么办。方法一:数据表最好是导出成.sql文件,这样才比较安全。方法二:直接copy了data文件:在mysql安装盘下的programda…

360极速浏览器兼容模式怎么设置在哪

360极速浏览器兼容模式怎么设置在哪,360浏览器怎么设置兼容模式?大部分浏览器都有两种视图模式:极速模式、兼容模式,这一点360浏览器也不例外,在加载速度上,极速模式快于兼容模式,要在360浏览器中切换极速…

log4j2 mysql_spring boot使用log4j2将日志写入mysql数据库

log4j2官方例子在spring boot中报错而且还是用的是org.apache.commons.dbcp包我给改了一下使用org.apache.commons.dbcp2包1.log4j2.xml如下:method"getDatabaseConnection" />includeLocation"true">AsyncLogger 表示是异步插入.需要在pom.xml中插入…

如何重置IE浏览器?重置IE浏览器的方法

ie浏览器是一款自带的浏览器服务软件,这款软件使用非常的方便,界面使用非常的简洁,浏览器的功能更加的全面,用户可以使用手机快速搜索,那么如何进行IE浏览器的重置呢?如果用户需要使用IE浏览器,想对IE浏览…

Win10系统怎么锁定IE浏览器主页

核心提示:Win10系统怎么锁定IE浏览器主页?一起看看吧! 目前,不少电脑用户都升级了win10系统,不过,关于win10系统的一些使用方法却不是很了解,比如说:当win10系统的IE浏览器被流氓软件窜改的主页网址该怎么…

vs2010 mysql linq to sql 系列_LINQ to SQL 系列 如何使用LINQ to SQL插入、修改、删除数据...

LINQ和 LINQ to SQL 都已经不是一个新事物了,但是我接触的比较晚,本着绝知此事要躬行的态度,决定写这个系列。本文使用的测试环境是VS 2010,和sql server 2005数据库。第一篇 从CUD开始,如何使用LINQ to SQL插入…

如何在IE浏览器中使用和管理RSS订阅源

核心提示:什么是RSS?简单来说,RSS就像微博一样。在你的源有更新的时候把更新推送给你,或者说在网站有更新的时候告诉你更新的内容。而源就好比是那些微博账号。 什么是RSS?简单来说,RSS就像微博一样。在你的源有更新的时候把更…

redis session 超时时间_Shiro性能优化:解决Session频繁读写问题

点击上方蓝色字体,选择“标星公众号”优质文章,第一时间送达作者 | 张永恒来源 | urlify.cn/YjEZNj背景Shiro 提供了强大的 Session 管理功能,基于 Shiro 实现 Session 共享非常方便,只需要定制一个我们自己的SessionDAO&#x…