Python打造12306抢票利器【未完待续】

Robin 235次浏览

摘要:12306网站的查询接口发生了变化,之前写的代码不能用了,今天来重新的研究下如何利用12306的接口查询并抢票

首先利用抓包工具不难找到12306的查询接口:

image.png


接下来分析参数:

image.png

最后让我们来看看返回结果:

image.png

俗话说工欲善其事,必先利其器,准备分析工作都做好了,接下来就开始写代码了:

定义车票信息参数

from_city = '**'
to_city = '**'
from_station = city_name[from_city]
to_station = city_name[to_city]
train_date = '2017-05-10'


获取车票信息:

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.headers = headers
    html = urllib2.urlopen(req)
    dict = json.loads(html.read())
    return dict

解读车票信息:

for i in getlist()['data']['result']:
    n = i.split('|')[29]
    str_info = i.split('|')
    if not n:
        break
    elif n == u'有' or (n and int(n) > 0):
        print u'车次:' + str_info[3] + u'----发车时间:' + str_info[8] + u'----到站时间:' + str_info[9] + u'----硬座:' + str_info[29]

想要自动下单,但是12306的变态验证码让我止步,还在研究中。。。未完待续。。。


原创文章转载请注明出处。

相关文章

表情

共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~