效果

aaarticlea/png;base64,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" alt="" />

main.py

# -*- coding: utf-8 -*-
import web
import search urls = (
'/', 'Search',
) render = web.template.render('templates') class Search():
def GET(self):
return render.search([]) def POST(self):
x = web.input()
data = search.getInfoByUrl(str(x['date']),str(x['from']),str(x['to']))
return render.search(data) app = web.application(urls, globals()) if __name__=="__main__":
app.run()

search.py

# -*- coding: utf-8 -*-
import urllib
import re
import json SEARCH_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 = json.loads(rawJson)
return data["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="2015-01-27">
出发地 <input type="text" name="from" value="北京">
目的地 <input type="text" name="to" value="成都">
<input type="submit" value="提交">
</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>

项目文件下载地址:http://files.cnblogs.com/files/meelo/12306seach.7z

最新文章

  1. Coursera台大机器学习课程笔记5 -- Theory of Generalization
  2. mysqldump操作参考
  3. HMM 自学教程(八)总结
  4. Erlang练习题----shopping
  5. HashMap两种遍历数据的方式
  6. 关于pom.xml的一些问题的理解
  7. PHP连接Mysql服务器的操作
  8. 【cocos2dx-3.0beta-制作flappybird】尾随时代潮流,关于引擎升级
  9. 对比C#中==与equal方法
  10. POJ - 2828
  11. My97设置开始、结束 时间区间及输入框不能输入只能选择的方法
  12. [POJ 1006]生理周期
  13. JS string 常用方法总结
  14. nodejs搭建web服务器
  15. .net mvc 导出excel表格
  16. Java 清理和垃圾回收
  17. Xdebug原理
  18. Linux echo 命令
  19. How to Manage Amazon-Fulfilled Orders - Cancel an Amazon-Fulfilled Order
  20. Python @retry装饰器的使用与实现案例(requests请求失败并重复请求)

热门文章

  1. Javascript中的date对象和getTime()方法
  2. Trades FZU - 2281 (大数+贪心)
  3. kubernetes创建资源对象yaml文件例子--pod详解
  4. session 超时设置
  5. java发送邮件(一)
  6. uva 12325 Zombie&#39;s Treasure Chest
  7. Bzoj4873 [SXOI2017]寿司餐厅
  8. 【POJ】1222 EXTENDED LIGHTS OUT(高斯消元)
  9. 【vijos】P1083 小白逛公园
  10. ASP.NET AjaxControlToolkit-Framework4.0 配置实用(简单介绍CalendarExtender日期控件)