本文旨在幫助搶票困難的同學(xué)炒考,在逢年過節(jié)的時(shí)候多點(diǎn)購票機(jī)會宰翅,代碼是借鑒別人的,主要幫助小白同學(xué)運(yùn)行大神的搶票程序颤难。只需小白同學(xué)按照以下教程,就可以初步使用該程序搶票啦已维。
第一種搶票程序
1 Docker安裝
1.1 Mac環(huán)境下安裝
參考網(wǎng)站
建議選擇手動安裝行嗤,安裝完畢后,選擇(Check for Updates)更新到最新版本
1.2 centos環(huán)境下安裝
前提條件:CentOS 7 上垛耳,要求系統(tǒng)為64位栅屏、系統(tǒng)內(nèi)核版本為 3.10 以上,通過指令uname -r 查看自己的系統(tǒng)版本
移除舊的版本:
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
2 配置項(xiàng)目
2.1下載代碼
git clone https://github.com/testerSunshine/12306
或直接訪問https://github.com/testerSunshine/12306 下載代碼
點(diǎn)擊下圖紅框中的下載按鈕即可
2.2下載驗(yàn)證碼識別模型
1. 模型下載鏈接:https://pan.baidu.com/s/1rS155VjweWVWIJogakechA 密碼:bmlm
群里面也可以下載
2. git倉庫下載:https://github.com/testerSunshine/12306model.git
把模型直接放在12306項(xiàng)目的根目錄堂鲜。
2.3配置文件 TickerConfig.py
- 根據(jù)自己需要修改好配置文件:TickerConfig.py
- 修改配置文件TickerConfig.py中的變量
AUTO_CODE_TYPE = 2
HOST = "captcha:80" #這里很重要栈雳,這是本地打碼服務(wù)器的配置
AUTO_CODE_TYPE = 3
STATION_DATES = ["2020-06-24"] #日期要核查清楚,多個(gè)日期缔莲,只需在數(shù)組后面追加哥纫,類似["2020-06-24","2020-06-25"]
用戶名、密碼(12306官網(wǎng))痴奏、乘客名蛀骇、車次、座次根據(jù)個(gè)人需求填寫即可读拆,文件中都有示例和注釋擅憔。 -
購票提醒設(shè)置
1.郵件通知
EMAIL_CONF = {
"IS_MAIL": True,
"email": "******@163.com",
"notice_email_list": "******@163.com",
"username": "******@163.com",
"password": "******",
"host": "smtp.163.com",
}
其中email、notice_email_list檐晕、username填寫一樣即可暑诸,password是指smtp服務(wù)的授權(quán)碼,獲取方法如下:
打開pc端的網(wǎng)易郵箱,登入后在設(shè)置中開啟SMTP服務(wù)(圖中第3步)个榕,開啟后點(diǎn)擊第四步的按鈕篡石,最后用手機(jī)掃第五的二維碼生成授權(quán)碼。
image.png
2.微信公眾號通知
需要前往 http://sc.ftqq.com/3.version 掃碼綁定獲取 SECRET 并關(guān)注獲得搶票結(jié)果通知的公眾號笛洛,會生成secret碼夏志。
SERVER_CHAN_CONF = {
"is_server_chan": True,
"secret": "*****"
}
secret處填寫上述生成的secret碼。
- COOKIE設(shè)置
1.COOKIE_TYPE = 3 #自己打開瀏覽器在headers-Cookies中抓取RAIL_DEVICEID和RAIL_EXPIRATION-
RAIL_DEVICEID和RAIL_EXPIRATION抓取方法
(1)用Chrome瀏覽器打開12306官網(wǎng)苛让,并登陸沟蔑。
(2)如下圖步驟獲取RAIL_DEVICEID值,圖中箭頭所指就是該值狱杰。
其中瘦材,1.步驟是指在12306網(wǎng)頁中,點(diǎn)擊鼠標(biāo)右鍵仿畸,然后點(diǎn)擊檢查按鈕食棕,出現(xiàn)步驟2中的對話框。
image.png
(3)如下圖步驟獲取RAIL_EXPIRATION值错沽,圖中箭頭所指就是該值簿晓。
image.png
通過上述步驟獲取RAIL_DEVICEID和RAIL_EXPIRATION值后,在配置文件(TickerConfig.py)中相應(yīng)位置填寫即可千埃,如下:
RAIL_EXPIRATION = "159094482****"
RAIL_DEVICEID="kLkp9VAA8Nf2l41AjBzg-0Js1BQnKZbiRGhW06904zy5WDmWwEEjB_*****"
-
3 開始搶票
- 前提條件
- 請確認(rèn)你安裝的docker版本為18.09及以上: docker -v
- 請確認(rèn)你安裝的docker-compose版本為1.23.2及以上: docker-compose -v
- 請根據(jù)自己需要修改好配置文件:TickerConfig.py
- 運(yùn)行命令:
- 開始搶票:docker-compose up --build -d
- 停止搶票:docker-compose down
- 查看搶票log: docker logs --follow ticket