首页 > 代码库 > webpy 实例 12306余票查询
webpy 实例 12306余票查询
效果
main.py
# -*- coding: utf-8 -*-import webimport searchurls = ( ‘/‘, ‘Search‘,)render = web.template.render(‘templates‘)class Search(): def GET(self): return render.search([]) def POST(self): x = web.input() data = http://www.mamicode.com/search.getInfoByUrl(str(x[‘date‘]),str(x[‘from‘]),str(x[‘to‘]))"__main__": app.run()
search.py
# -*- coding: utf-8 -*-import urllibimport reimport jsonSEARCH_TICKET_URL="https://kyfw.12306.cn/otn/lcxxcx/query?purpose_codes=ADULT&queryDate=%s&from_station=%s&to_station=%s"def getStationName(chinese): stationTable = open("station_name.js").read() pattern = re.compile(‘\|‘+chinese+‘\|([A-Z]{3})‘); stationCode = pattern.search(stationTable) return stationCode.group(1) def getInfoByUrl(queryDate, fromStation, toStation): fromStation = getStationName(fromStation) toStation = getStationName(toStation) url = SEARCH_TICKET_URL % (queryDate, fromStation, toStation) print url rawJson = urllib.urlopen(url).read() data = http://www.mamicode.com/json.loads(rawJson)"data"]["datas"]#queryDate = ‘2015-01-27‘#fromStation = ‘成都‘#toStation = ‘北京‘#print getInfoByUrl(queryDate,fromStation,toStation)
template/search.html
$def with(trains)<html><head><style>table { font-size: 12px; text-align: center;}.th { background-color: #288CCC; color: #FFF;}</style></head><body><form method="post">日期 <input type="text" name="date" value="http://www.mamicode.com/2015-01-27">出发地 <input type="text" name="from" value="http://www.mamicode.com/北京">目的地 <input type="text" name="to" value="http://www.mamicode.com/成都"><input type="submit" value="http://www.mamicode.com/提交"></form><table><thead><tr class="th"> <th width="90">车次</th> <th width="100"><div class="two-line"><span>出发站</span><br clear="none" /><span>到达站</span></div></th> <th width="82"><div class="two-line" id="startendtime"><span>出发时间</span><br clear="none" /><span>到达时间</span></div></th> <th width="82"><span class="b2" id="_span_lishi">历时</span></th> <th width="49">商务座</th> <th width="49">特等座</th> <th width="49">一等座</th> <th width="49">二等座</th> <th width="49">高级<br clear="none" /> 软卧</th> <th width="49">软卧</th> <th width="49">硬卧</th> <th width="49">软座</th> <th width="49">硬座</th> <th width="49">无座</th> <th width="49">其它</th> <th class="last">备注</th></tr></thead><tbody id="_query_table_datas"></tbody>$for train in trains: <tr class="" id="$train[‘train_no‘]"> <td class="train"> $train[‘station_train_code‘] </td> <td class="cdz"> <strong class="start-t">$train[‘start_station_name‘]</strong><br> <strong>$train[‘end_station_name‘]</strong> </td> <td class="cds"> <strong class="start-t">$train[‘start_time‘]</strong><br> <strong>$train[‘arrive_time‘]</strong> </td> <td class="ls"> <strong>$train[‘lishi‘]</strong> <span></span> </td> <td width="49"><span>$train[‘swz_num‘]</span></td> <td width="49"><span>$train[‘tz_num‘]</span></td> <td width="49"><span>$train[‘zy_num‘]</span></td> <td width="49"><span>$train[‘ze_num‘]</span></td> <td width="49"><span>$train[‘gg_num‘]</span></td> <td width="49"><span>$train[‘rw_num‘]</span></td> <td width="49"><span>$train[‘yw_num‘]</span></td> <td width="49"><span>$train[‘rz_num‘]</span></td> <td width="49"><span>$train[‘yz_num‘]</span></td> <td width="49"><span>$train[‘wz_num‘]</span></td> <td width="49"><span>$train[‘qt_num‘]</span></td> </tr></table></body></html>
webpy 实例 12306余票查询
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。