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))
總結
以上是生活随笔為你收集整理的python数字对应车站_python爬虫查询车站信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3精要(6)-string类
- 下一篇: js属性对象的hasOwnPropert