亚洲国产成人精品久久_欧美日韩国产综合一区二区_亚洲精品理论电影_色综合久久中文字幕

首頁 » 早鳥快報 » IT » 正文

今日可搶回程火車票,實測兩款GitHub開源搶票插件,所有坑我們都幫你踩過了

放大字體  縮小字體 發布日期:2020-01-01  來源:來自互聯網  作者:來自互聯網  瀏覽次數:1089
導讀

2、 STATION

曉查 郭一璞 發自 凹非寺

量子位 報道 | 公眾號 QbitAI

今天,已經可以搶過完年回來的火車票了。

如果你對自己手速和市面上的各種“加速包”都沒什么信心的話,不妨試試用程序員的手段搶票?

況且,12306官方宣布屏蔽了一大批付費搶票軟件,這也意味著你即使給這些軟件付了會員費,也依舊搶不到票。

所以只能回到最初的手動搶票?No!No!No!

GitHub上有兩個“年經”項目,每到春運前一段時間,就會定時定點的登頂熱榜,助力一代又一代程序員和姿勢豐富的非程序員們搶票回家。

那么,這兩個項目究竟怎么用?好不好用?

和手動搶票、第三方軟件搶票比起來優勢是否明顯?

安裝使用過程中,會不會遇到不可名狀的bug?

今天為大家一一橫評。

霸占熱榜的兩個項目

排在GitHub熱榜第1的項目名字簡單粗暴,就直接叫 12306,已經有21300星,來自ID為testerSunshine的作者。

testerSunshine的12306項目可以自動登錄用戶賬戶,能卡點搶票,也能撿漏候補,搶到票后會通過郵件進行通知。

排在熱榜第2位的,叫做 py12306,目前已有8300星,今年初就已經非?;鹆?。

我該選哪個搶票軟件

那么整體來看,這兩款開源軟件,哪個更好用呢?

py12306從去年開始就已經被大家廣泛使用,其優點是設置比較簡潔,甚至還有圖形界面。但是它在驗證碼登錄過程中容易出現下載失敗的情況,如果把打碼接口從free換成“若快”平臺,還需要充值。

如果你對運行代碼一無所知,建議使用py12306.

從實際使用效果來看,我們更推薦testerSunshine的12306,目前它在GitHub上的高人氣,也反映的用戶們的選擇。

測評細節&使用教程

兩個搶票插件的關鍵都在配置文件的修改:testerSunshine/12306的關鍵在于TickerConfig.py,

而py12306的關鍵在于env.py。

熱榜第一:12306

我們先開始測試現在趨勢榜第一的12306,先將項目復制到本地:

git clonehttps://github/testerSunshine/12306

cd12306

再安裝依賴項,為了避免多python環境產生問題,建議以root用戶方式安裝:

pip3 install -i https://pypi.tuna.tsinghua.edu/simple -r requirements.txt

下面到了整個過程 最關鍵的環節,配置TickerConfig.py文件,這一步將決定你的成敗!非常重要!

看到配置文件里一長串字符,你是不是覺得很頭疼呢?我們經過測試,找到了其中的幾個關鍵點:

1、如果你沒有搶到票,寄希望于其他人退票后撿漏,令TICKET_TYPE = 2,否則設置為1;

# 刷票模式:1=刷票 2=候補+刷票

TICKET_TYPE = 1

2、 STATION_TRAINS可以填入一串你想要搶的車次,比如北京到合肥方向,你想購買G267、G29次列車,就設置為STATION_TRAINS = [“G267”, “G29”],中間用逗號隔開,不填寫等于搶當日全部車次;

# 出發日期(list) "2018-01-06", "2018-01-07"

STATION_DATES = [

"2020-01-30"

]

# 填入需要購買的車次(list),"G1353"

# 修改車次填入規則,注:(以前設置的車次邏輯不變),如果車次填入為空,那么就是當日乘車所有車次都納入篩選返回

# 不填車次是整個list為空才算,如果不是為空,依然會判斷車次的,這種是錯誤的寫法 [""], 正確的寫法 []

STATION_TRAINS = [ "G267", "G29"]

3、 STATION_DATES填入你出發的日期,這一步不難;

4、出發站FROM_STATION和到達站TO_STATION不必精確到具體的站,只需填入城市,除非你想從特定站點出發;

# 出發城市,比如深圳北,就填深圳就搜得到

FROM_STATION = "北京"

# 到達城市 比如深圳北,就填深圳就搜得到

TO_STATION = "合肥"

5、乘車人填入你12306賬號中常用聯系人的姓名,比如TICKET_PEOPLES = [“張三”],如果沒有,需要登錄12306手動添加;

# 乘車人(list) 多個乘車人ex:

# "張三",

# "李四"

TICKET_PEOPLES = [ "李雷", "韓梅梅"]

6、填入你的12306賬戶名和密碼;

# 12306登錄賬號

USER = "Lilei"

PWD = "123456"

7、如果不需要郵箱和Server醬提醒,請把EMAIL_CONF和SERVER_CHAN_CONF的第一項都設置為False;

8、開放搶票時間根據自己車次填入,可以提前幾秒,比如下午一點開發搶票,則填入OPEN_TIME = “12:29:57” ;

# 預售放票時間, 如果是撿漏模式,可以忽略此操作

OPEN_TIME = "12:29:57"

9、cookie設置這一步尤為關鍵,經過我們實測,cookie_TYPE設置為1或2都有些問題,建議設置為3;

# 1=使用selenium獲取devicesID

# 2=使用網頁端/otn/HttpZF/logdevice獲取devicesId,這個接口的算法目前可能有點問題,如果登錄一直302的請改為配置1

# 3=自己打開瀏覽器在headers-cookies中抓取RAIL_DEVICEID和RAIL_EXPIRATION,這個就不用配置selenium

cookie_TYPE = 3

10、上一步設置為3以后,還需要手動設置后面的兩個參數 RAIL_EXPIRATION和 RAIL_DEVICEID。

# 如果cookie_TYPE=3, 則需配置RAIL_EXPIRATION、RAIL_DEVICEID的值

RAIL_EXPIRATION = "1577327361278"

RAIL_DEVICEID = "jFAKbAeAInPnm0pAdqdCNG0ID_dU6SW6L8gaX7zDEewcWVJC5w7nTSw63oMK9sd9c6FcdhyDMsuVUV4aknfXwzHhO8c_Z-nLU4W8F4_gj_HlrOrsrR29U82HR4pnMRqoRFBKuCZ3tKAgQrhuYnR5RWsBCe5g7goV"

# RAIL_EXPIRATION = "1577034103293"

# RAIL_DEVICEID = "CDno29Erc_Pf3FSXb4dzq-Op64EhWrsi5yUZKVIKR1MAfYo2qFlCeXD8VkexY7_1qg-ClV-fE8j9jgVlPZxRh3wVc2iqLe_5A8sdr62qZx4B22JPF8lFCjpgTKZ5ODW90HJd5tiQsJ1KR9nOqHRxHj1FT5LEIwfw"

如何找到這兩個參數?先用Chrome瀏覽器打開12306,點擊網站地址左邊的“鎖形”圖標:再點擊下發的cookie

接著會出現一組cookie,選擇來自12306的cookie:

看到 RAIL_EXPIRATION和 RAIL_DEVICEID兩個參數,點擊它,將內容里的一串字符復制到配置文件中。

需要注意的是RAIL_DEVICEID參數很長,可能顯示不全,請完整復制。

至此,準備工作已全部完成,啟動前請先篩選cdn,這點很重要!

python3 run.py c

接著啟動服務:

python3 run.py r

接著它會提出登錄成功,并列出當日所有相關車次信息,然后開始搶票:

搶票成功后,這個軟件不能幫你完成支付,你還需要在手機或者電腦上登錄12306網站,在30分鐘內完成支付動作,否則你辛辛苦苦搶的票就沒了。

熱榜第二:py12306

py12306的安裝方式與前者類似:

git clonehttps://github/pjialin/py12306

cdpy12306

pip3 install -r requirements.txt

然后修改配置文件,現更改后綴名

cp env.py.example env.py

默認配置文件中需要修改的選項有:

1、你的12306賬戶和密碼;

# 12306 賬號

USER_ACCOUNTS = [

# 目前已支持僅查詢,不下單,屏蔽掉下面的賬號即可

{

'key': 'lilei', # 如使用多個賬號 key 不能重復

'user_name': 'Lilei',

'password': '123456'

},

2、查詢任務QUERY_JOBS中的各項參數,包括出發日期left_dates、出發站left和到達站arrive、乘客姓名members、坐席seats、車次train_numbers;

# 查詢任務

QUERY_JOBS = [

{

# 'job_name': 'bj -> yl', # 任務名稱,不填默認會以車站名命名,不可重復

'account_key': 0, # 將會使用指定賬號下單

'left_dates': [ # 出發日期 :Array

"2020-01-22",

],

'stations': { # 車站 支持多個車站同時查詢 :Dict or :List

'left': '北京',

'arrive': '合肥',

},

'members': [ # 乘客姓名,會根據當前賬號自動識別乘客類型 購買兒童票 設置兩個相同的姓名即可,程序會自動識別 如 ['張三', '張三']

"李雷",

"韓梅梅"#在姓名前加*表示學生購買成人票

# 7, # 支持通過序號確定唯一乘客,序號查看可通過 python main.py -t 登錄成功之后在 runtime/user/ 下找到對應的 用戶名_passengers.json 文件,找到對應的 code 填入

],

'allow_less_member': 0, # 是否允許余票不足時提交部分乘客

'seats': [ # 篩選座位 有先后順序 :Array

# 可用值: 特等座, 商務座, 一等座, 二等座, 軟臥, 硬臥, 動臥, 軟座, 硬座, 無座

'二等座'

],

'train_numbers': [ # 篩選車次 可以為空,為空則所有車次都可以提交 如 [] 注意大小寫需要保持一致

"G267",

],

'except_train_numbers': [ # 篩選車次,排除車次 train_numbers 和 except_train_numbers 不可同時存在

],

'period': { # 篩選時間

'from': '00:00',

'to': '24:00'

}

},

接著運行程序:

python3 main.py

如果你不善于使用命令行模式,還可以使用圖形界面觀察搶票任務。

將配置中的WEB_ENABLE打開,啟動程序后訪問當前主機地址+端口號 (默認 8008) 即可,然后在瀏覽器中輸入127.0.0.1:8008。

現在,就可以讓程序幫你搶票啦。

不過,搶票軟件并非萬能,巧coder難為無票之炊,除了技術,你可能還需要一點點運氣。

無論采取哪種交通方式,祝大家都能開開心心過年回家,平平安安回來搬磚~

2020已經開始,量子位也祝大家新年快樂^_^

傳送門

testerSunshine/12306

https://github/testerSunshine/12306

py12306

https://github/pjialin/py12306

— 完—

2019年度獎項發布!鎖定AI Top玩家

50家領航企業、10大商業突破人物、10大最具創新力產品3大獎項出爐。

跟大咖交流 | 進入AI社群

量子位 QbitAI · 頭條號簽約作者

?'?' ? 追蹤AI技術和產品新動態

喜歡就點「在看」吧 !

 
 
免責聲明
本文為會員免費發布,僅代表發布者個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,作者需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理。
 
 
主站蜘蛛池模板: 久久99视频免费| 亚洲精品国产精品国自产观看| 色妞在线综合亚洲欧美| 欧美在线亚洲一区| 国产日韩中文字幕| 欧美 日韩 国产在线| 亚洲综合色av| 国产高清精品在线观看| 国产亚洲欧美在线视频| 欧美激情亚洲国产| 一区二区三区日韩视频| 91精品久久久久久久久久| 国产区日韩欧美| 人人妻人人澡人人爽精品欧美一区| 日韩中文字幕视频| 亚洲国产精品女人| 91精品国产乱码久久久久久久久| 国产精品免费久久久| 国产精品视频不卡| 国产精品久久久久久久乖乖| 国产尤物91| 久久精品在线播放| 国产又爽又黄的激情精品视频| 久久精品久久精品国产大片| 久久亚洲午夜电影| 久久久欧美精品| 久久国产精品99国产精| 精品国产一区二区三区在线| 中文字幕av久久| 日韩欧美不卡在线| 久久久99国产精品免费| 国产日韩欧美日韩大片| 国产精品免费视频xxxx| 91av在线播放| 日韩欧美精品在线不卡| 欧美 日韩 国产精品| 精品少妇在线视频| 国产精品美女诱惑| 亚洲欧美日韩不卡一区二区三区| 亚洲狠狠婷婷综合久久久| 亚洲人成网站在线观看播放|