自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

實(shí)測(cè)兩款GitHub開源插件,坑都幫你踩過了

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

 本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。

今天,已經(jīng)可以搶過完年回來的火車票了。

[[311592]]

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

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

所以只能回到最初的手動(dòng)搶票?No!No!No!

GitHub上有兩個(gè)“年經(jīng)”項(xiàng)目,每到春運(yùn)前一段時(shí)間,就會(huì)定時(shí)定點(diǎn)的登頂熱榜,助力一代又一代程序員和姿勢(shì)豐富的非程序員們搶票回家。

今日可搶回程火車票,實(shí)測(cè)兩款GitHub開源插件,坑都幫你踩過了

那么,這兩個(gè)項(xiàng)目究竟怎么用?好不好用?

和手動(dòng)搶票、第三方軟件搶票比起來優(yōu)勢(shì)是否明顯?

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

今天為大家一一橫評(píng)。

霸占熱榜的兩個(gè)項(xiàng)目

排在GitHub熱榜第1的項(xiàng)目名字簡(jiǎn)單粗暴,就直接叫12306,已經(jīng)有21300星,來自ID為testerSunshine的作者。

testerSunshine的12306項(xiàng)目可以自動(dòng)登錄用戶賬戶,能卡點(diǎn)搶票,也能撿漏候補(bǔ),搶到票后會(huì)通過郵件進(jìn)行通知。

排在熱榜第2位的,叫做py12306,目前已有8300星,今年初就已經(jīng)非?;鹆恕?/p>

我該選哪個(gè)搶票軟件

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

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

今日可搶回程火車票,實(shí)測(cè)兩款GitHub開源插件,坑都幫你踩過了

如果你對(duì)運(yùn)行代碼一無所知,建議使用py12306。

testerSunshine的12306插件設(shè)置比較復(fù)雜,自動(dòng)獲取cookie經(jīng)常失敗,因此需要手動(dòng)填寫,這一點(diǎn)比不上py12306;但是它自帶了開發(fā)者的12306圖片識(shí)別模型,我們可以在本地完成圖片識(shí)別碼的登錄過程。

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

測(cè)評(píng)細(xì)節(jié)&使用教程

兩個(gè)搶票插件的關(guān)鍵都在配置文件的修改:testerSunshine/12306的關(guān)鍵在于TickerConfig.py,
而py12306的關(guān)鍵在于env.py。

熱榜第一:12306

我們先開始測(cè)試現(xiàn)在趨勢(shì)榜第一的12306,先將項(xiàng)目復(fù)制到本地:

  1. gitclonehttps://github.com/testerSunshine/12306cd12306 

再安裝依賴項(xiàng),為了避免多python環(huán)境產(chǎn)生問題,建議以root用戶方式安裝:

  1. pip3install-ihttps://pypi.tuna.tsinghua.edu.cn/simple-rrequirements.txt 

下面到了整個(gè)過程最關(guān)鍵的環(huán)節(jié),配置TickerConfig.py文件,這一步將決定你的成??!非常重要!

看到配置文件里一長(zhǎng)串字符,你是不是覺得很頭疼呢?我們經(jīng)過測(cè)試,找到了其中的幾個(gè)關(guān)鍵點(diǎn):

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

  1. #刷票模式:1=刷票 2=候補(bǔ)+刷票TICKET_TYPE=1 

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

  1. #出發(fā)日期(list)"2018-01-06","2018-01-07"STATION_DATES=[  "2020-01-30"  ]#填入需要購買的車次(list),"G1353"#修改車次填入規(guī)則,注:(以前設(shè)置的車次邏輯不變),如果車次填入為空,那么就是當(dāng)日乘車所有車次都納入篩選返回#不填車次是整個(gè)list為空才算,如果不是為空,依然會(huì)判斷車次的,這種是錯(cuò)誤的寫法[""],正確的寫法[]STATION_TRAINS=["G267","G29"

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

4、出發(fā)站FROM_STATION和到達(dá)站TO_STATION不必精確到具體的站,只需填入城市,除非你想從特定站點(diǎn)出發(fā);

  1. #出發(fā)城市,比如深圳北,就填深圳就搜得到FROM_STATION="北京"#到達(dá)城市比如深圳北,就填深圳就搜得到TO_STATION="合肥" 

5、乘車人填入你12306賬號(hào)中常用聯(lián)系人的姓名,比如TICKET_PEOPLES = [“張三”],如果沒有,需要登錄12306手動(dòng)添加;

  1. #乘車人(list)多個(gè)乘車人ex:#"張三",#"李四"TICKET_PEOPLES=["李雷","韓梅梅"

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

  1. #12306登錄賬號(hào)USER="Lilei"PWD="123456" 

7、如果不需要郵箱和Server醬提醒,請(qǐng)把EMAIL_CONF和SERVER_CHAN_CONF的第一項(xiàng)都設(shè)置為False;

8、開放搶票時(shí)間根據(jù)自己車次填入,可以提前幾秒,比如下午一點(diǎn)開發(fā)搶票,則填入OPEN_TIME = “12:29:57” ;

#預(yù)售放票時(shí)間,如果是撿漏模式,可以忽略此操作OPEN_TIME="12:29:57"

9、cookie設(shè)置這一步尤為關(guān)鍵,經(jīng)過我們實(shí)測(cè),COOKIE_TYPE設(shè)置為1或2都有些問題,建議設(shè)置為3;

  1. #1=使用selenium獲取devicesID#2=使用網(wǎng)頁端/otn/HttpZF/logdevice獲取devicesId,這個(gè)接口的算法目前可能有點(diǎn)問題,如果登錄一直302的請(qǐng)改為配置1#3=自己打開瀏覽器在headers-Cookies中抓取RAIL_DEVICEID和RAIL_EXPIRATION,這個(gè)就不用配置seleniumCOOKIE_TYPE=3 

10、上一步設(shè)置為3以后,還需要手動(dòng)設(shè)置后面的兩個(gè)參數(shù)RAIL_EXPIRATIONRAIL_DEVICEID。

  1. #如果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" 

如何找到這兩個(gè)參數(shù)?先用Chrome瀏覽器打開12306.cn,點(diǎn)擊網(wǎng)站地址左邊的“鎖形”圖標(biāo):再點(diǎn)擊下發(fā)的Cookie。

今日可搶回程火車票,實(shí)測(cè)兩款GitHub開源插件,坑都幫你踩過了

接著會(huì)出現(xiàn)一組Cookie,選擇來自12306.cn的Cookie:

今日可搶回程火車票,實(shí)測(cè)兩款GitHub開源插件,坑都幫你踩過了

看到RAIL_EXPIRATIONRAIL_DEVICEID兩個(gè)參數(shù),點(diǎn)擊它,將內(nèi)容里的一串字符復(fù)制到配置文件中。

今日可搶回程火車票,實(shí)測(cè)兩款GitHub開源插件,坑都幫你踩過了

需要注意的是RAIL_DEVICEID參數(shù)很長(zhǎng),可能顯示不全,請(qǐng)完整復(fù)制。

至此,準(zhǔn)備工作已全部完成,啟動(dòng)前請(qǐng)先篩選cdn,這點(diǎn)很重要!

  1. python3run.pyc 

接著啟動(dòng)服務(wù):

  1. python3run.pyr 

接著它會(huì)提出登錄成功,并列出當(dāng)日所有相關(guān)車次信息,然后開始搶票:

今日可搶回程火車票,實(shí)測(cè)兩款GitHub開源插件,坑都幫你踩過了

搶票成功后,這個(gè)軟件不能幫你完成支付,你還需要在手機(jī)或者電腦上登錄12306網(wǎng)站,在30分鐘內(nèi)完成支付動(dòng)作,否則你辛辛苦苦搶的票就沒了。

今日可搶回程火車票,實(shí)測(cè)兩款GitHub開源插件,坑都幫你踩過了

熱榜第二:py12306

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

  1. gitclonehttps://github.com/pjialin/py12306cdpy12306pip3install-rrequirements.txt 

然后修改配置文件,現(xiàn)更改后綴名:

  1. cpenv.py.exampleenv.py 

默認(rèn)配置文件中需要修改的選項(xiàng)有:

1、你的12306賬戶和密碼;

  1. #12306賬號(hào)USER_ACCOUNTS=[  #目前已支持僅查詢,不下單,屏蔽掉下面的賬號(hào)即可  {  'key':'lilei',#如使用多個(gè)賬號(hào)key不能重復(fù)  'user_name':'Lilei',  'password':'123456'  }, 

2、查詢?nèi)蝿?wù)QUERY_JOBS中的各項(xiàng)參數(shù),包括出發(fā)日期left_dates、出發(fā)站left和到達(dá)站arrive、乘客姓名members、坐席seats、車次train_numbers;

  1. #查詢?nèi)蝿?wù)QUERY_JOBS=[  {      #'job_name':'bj->yl',#任務(wù)名稱,不填默認(rèn)會(huì)以車站名命名,不可重復(fù)      'account_key':0,#將會(huì)使用指定賬號(hào)下單      'left_dates':[#出發(fā)日期:Array      "2020-01-22",      ],  'stations':{#車站支持多個(gè)車站同時(shí)查詢:Dictor:List        'left':'北京',              'arrive':'合肥',              },          'members':[#乘客姓名,會(huì)根據(jù)當(dāng)前賬號(hào)自動(dòng)識(shí)別乘客類型購買兒童票設(shè)置兩個(gè)相同的姓名即可,程序會(huì)自動(dòng)識(shí)別如['張三','張三']                    "李雷",                                        "韓梅梅"#在姓名前加*表示學(xué)生購買成人票                    #7,#支持通過序號(hào)確定唯一乘客,序號(hào)查看可通過pythonmain.py-t登錄成功之后在runtime/user/下找到對(duì)應(yīng)的用戶名_passengers.json文件,找到對(duì)應(yīng)的code填入                   ],          'allow_less_member':0,#是否允許余票不足時(shí)提交部分乘客          'seats':[#篩選座位有先后順序:Array                    #可用值:特等座, 商務(wù)座, 一等座, 二等座, 軟臥, 硬臥, 動(dòng)臥, 軟座, 硬座, 無座                    '二等座'                   ],            'train_numbers':[#篩選車次可以為空,為空則所有車次都可以提交如[]注意大小寫需要保持一致                              "G267",                             ],              'except_train_numbers':[#篩選車次,排除車次train_numbers和except_train_numbers不可同時(shí)存在                                      ],                'period':{#篩選時(shí)間                'from':'00:00',                  'to':'24:00'                          }                    }, 

接著運(yùn)行程序:

  1. python3main.py 

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

將配置中的WEB_ENABLE打開,啟動(dòng)程序后訪問當(dāng)前主機(jī)地址+端口號(hào) (默認(rèn) 8008) 即可,然后在瀏覽器中輸入http://127.0.0.1:8008。

今日可搶回程火車票,實(shí)測(cè)兩款GitHub開源插件,坑都幫你踩過了

現(xiàn)在,就可以讓程序幫你搶票啦。

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

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

2020已經(jīng)開始,量子位也祝大家新年快樂^_^

傳送門

testerSunshine/12306
https://github.com/testerSunshine/12306

py12306
https://github.com/pjialin/py12306

責(zé)任編輯:張燕妮 來源: 量子位
相關(guān)推薦

2010-02-06 09:16:24

Mozilla惡意代碼火狐插件

2023-10-10 14:54:31

插件開發(fā)

2015-05-08 12:17:53

2022-06-06 00:25:09

Golangpanic死鎖

2009-01-11 10:04:00

網(wǎng)管遠(yuǎn)程維護(hù)工具

2019-10-30 14:44:41

Prometheus開源監(jiān)控系統(tǒng)

2024-09-26 13:57:05

中國AI產(chǎn)品

2019-07-31 11:30:25

MySQL數(shù)據(jù)庫工具

2015-08-19 14:27:58

IBM大型主機(jī)LinuxONE

2011-02-18 09:34:50

.Net reflec

2021-12-03 23:14:49

Github插件開發(fā)

2015-06-04 09:22:09

2022-04-26 21:49:55

Spring事務(wù)數(shù)據(jù)庫

2011-12-14 09:32:06

微軟iPhone

2009-11-23 16:37:25

思科接入路由器

2013-07-03 16:32:44

惡意軟件VobfusBeebone

2011-09-07 10:08:55

AndriodTCL平板

2012-05-10 09:53:59

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)