途中創(chuàng)建一個(gè)sl.py文件
# -*- coding: utf-8 -*-
cons = '@bji|北京|BJP|0@sha|上海|SHH|1@tji|天津|TJP|2@cqi|重慶|CQW|3@csh|長(zhǎng)沙|CSQ|4@cch|長(zhǎng)春|CCT|5@cdu|成都|CDW|6@fzh|福州|FZS|7@gzh|廣州|GZQ|8@gya|貴陽(yáng)|GIW|9@hht|呼和浩特|HHC|10@heb|哈爾濱|HBB|11@hfe|合肥|HFH|12@hzh|杭州|HZH|13@hko|涸嫜酰口|VUQ|14@jna|濟(jì)南|JNK|15@kmi|昆明|KMM|16@lsa|拉薩|LSO|17@lzh|蘭州|LZJ|18@nni|南寧|NNZ|19@nji|南京|NJH|20@nch|南昌|NCG|21@sya|沈陽(yáng)|SYT|22@sjz|石家莊|SJP|23@tyu|太原|TYV|24@wlq|烏魯木齊南|WMR|25@wha|武漢|WHN|26@xni|西寧|XNO|27@xan|西安|XAY|28@ych|銀川|YIJ|29@zzh|鄭州|ZZF|30@szh|深圳|SZQ|shenzhen|sz|31@xme|廈門|XMS|xiamen|xm|32'
創(chuàng)建第一個(gè)12306.py文件
# -*- coding: utf-8 -*-
import urllib2
import ssl
import json
from sl import cons
ssl._create_default_https_context = ssl._create_unverified_context #跳過(guò)證書驗(yàn)證
station_dict = {}
for i in cons.split('@'):
if i:
tmp_list = i.split('|')
station_dict[tmp_list[1]] = tmp_list[2]
#print station_dict['成都']
train_date = '2017-07-31'
from_station = station_dict['北京']
to_station = station_dict['石家莊']
def getList():
req = urllib2.Request('https://kyfw.12306.cn/otn/leftTicket/query?leftTicketDTO.train_date=%s&leftTicketDTO.from_station=%s&leftTicketDTO.to_station=%s&purpose_codes=ADULT' %(train_date,from_station,to_station))
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36')
html = urllib2.urlopen(req).read()
#print html
dict = json.loads(html)
#print dict
return dict['data']['result']
cs = 0
#車次 = 3
#出發(fā)時(shí)間 = 8
#到達(dá)時(shí)間 = 9
#歷時(shí) = 10
#軟臥 = 23
#硬臥 = 28
#硬座 無(wú)座 26 29
for i in getList():
#for n in i.split('|'):
# print '[%s]' %cs,n
# cs += 1
if tmp_list == u'無(wú)' or tmp_list == '--':
continue
tmp_list = i.split('|')
if int(tmp_list[23]) > 0:
print '有票' #買票
break