本文目錄一覽:
- 1、實驗樓python實現火車票查詢工具怎麼在windows上運行
- 2、python 火車票查票的代碼 其中 e=re.findall(‘%s\|([^|]+)’ % e,cont)[0]
- 3、python新手代碼是什麼?
- 4、在哪裡可以找一些python項目做做?
- 5、Python 實現一個火車票查詢的工具
實驗樓python實現火車票查詢工具怎麼在windows上運行
把D:\python-2.7.3\加到path的環境變量裡面就行,不要寫成D:\python-2.7.3\python,我看你現在就寫成了後面那個。因為你加到path里的應該是一個目錄,然後你在命令行裡面輸入python的時候,它會自動到path變量裡面的各個目錄底下去找存不存在python.exe這個程序。所以你在path裡面輸入的應該是目錄,也就是D:\python-2.7.3\就可以了。然後到hello.py在的目錄底下,也就是D盤,執行pythonhello.py就行了。p.s.最簡單在某一個目錄底下打開命令行的方式是在“我的電腦”瀏覽那個目錄的時候“shift+右擊鼠標”,然後菜單裡面有一個“在此處打開命令窗口”就行了。這樣就不需要用cd去切換了。
python 火車票查票的代碼 其中 e=re.findall(‘%s\|([^|]+)’ % e,cont)[0]
‘%s\|([^|]+)’ % e
這是” 格式化字符串%參數 “的形式 ‘%s\|([^|]+)’ 是用于格式化的字符串,%e e是參數
%s表示將e作為字符串打印 ‘\|([^|]+)’ 於’|([^|]+’)相同,如e 為hello,這個字符串就是
‘hello|([^|]+)’ 這就是實際傳給findall的正則表達式,這樣正則就不對吧
如果字符串前有r才對吧,e=re.findall(r’%s\|([^|]+)’ % e,cont)[0] ,這樣提取findall查找到的列表中下標為0的第一個值
python新手代碼是什麼?
python新手代碼是:
1、shuizitiqu.py——————數字提取。
2、socker_ping.py——————長ping 檢測網絡狀態。
3、spider_tieba.py——————爬取百度貼吧圖片。
4、tianqi.py——————微信自動回復天氣。
5、ticket_searchTrain.py——————12306火車票查詢。
6、ticket_stations.py——————12306火車站點。
7、txt.py——————txt文件抽取。
8、weixinhuifu.py——————微信自動回復天氣。
9、xlsfile.py——————xls文件提取。
在哪裡可以找一些python項目做做?
去豬八戒上去看看吧,或者去github 上看看評分很高的那種,還有就是買幾本實戰的書籍,一步一步完成這樣收穫是最多的了。祝你好運!
Python 實現一個火車票查詢的工具
使用 python 實現一個查詢火車票的小工具
主要功能:
輸入出發車站,到達車站,時間,然後返回所有的車次信息,和余票信息
支持輸入附加選項查詢不同的火車的類型,比如高鐵,動車。
#查詢上海到北京2017-04-25的高鐵和動車的車票,-g -d 是附加選項 表示高鐵和動車
python3 trains.py -gd 上海 北京 2017-04-25
運行結果:
1. 對12306網站買票過程抓包分析
點擊查詢之後,通過抓包發現返回了一個json的文件,查看這個文件,就是保存着具體車次的信息。抓包如下圖所示。
請求的url 是:
GET /otn/leftTicket/query?leftTicketDTO.train_date=2017-04-20leftTicketDTO.from_station=TJPleftTicketDTO.to_station=TYVpurpose_codes=ADULT HTTP/1.1
發現這個請求使用的是get方法,然後傳遞了四個參數,一個是出發站,一個是到達車站,一個是成年人or學生,最後一個是時間。如下圖:
但是有一個問題是,我輸入的是天津到太原,但是這個卻轉換成了拼音的簡稱。必須要找到這個轉換的字典是什麼,這樣才能正確的使用這個接口。
在網頁的源代碼找到這個文件,station_name.js 文件,如下圖:
js文件的格式是,如下圖,使用的話,必須要想用正則表達式處理一下:
2. 使用正則表達式處理這個js文件
使用正則表達式,將js 文件裡面的車站名字和對應的簡稱提取出來,然後寫入到一個station.py 文件裡面,作為字典,程序運行的時候,將這個文件以模塊的形式包含進去。
關於正則表達式,先佔一個坑,以後在詳細的寫。
正則表達式的代碼:
運行的時候:
# 將輸出重定向到一個新的文件stations.py裡面python3 test3.py stations.py
3. 使用docopt 優雅的完成命令行的輸入
docopt 是一個很優雅的處理輸入的一個模塊,docopt可以根據你寫的文檔描述,可以自動為你生成解析器,可以非常容易的為你的python程序創建命令行界面。
4. 主程序
4.1 處理url
4.2 輸出
運行結果:
5. 使用prettytable模塊 優雅的輸出
詳細:
作者 sexycoder 本文轉載自簡書,轉載需授權
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/130809.html