首頁  >  文章  >  系統教程  >  用 Python 程式碼自動搶火車票

用 Python 程式碼自動搶火車票

WBOY
WBOY轉載
2024-04-25 08:25:29349瀏覽

用 Python 代码自动抢火车票

#市場上很多火車票搶票軟體大家應該非常熟悉,但很少人研究具體是怎麼實現的,所以覺得很神秘,其實很簡單。以下使用Python模擬搶票程序,為大家揭秘搶票到底是怎麼回事。

程式碼僅供參考,主要用於大家溝通交流,禁止用於商業用途。

具體程式碼如下,可以修改成自己的12306用戶名帳號:

用 Python 代码自动抢火车票

#準備工具
  • 12306網站使用者名稱和密碼
  • Python
  • chrome瀏覽器及下載chromedriver
  • 下載Python程式碼,位於:https://github.com/ppy2790/tickets

#程式碼的Python Splinter開發,Splinter是一個使用Python開發的開源Web應用測試工具,它可以幫你實現自動瀏覽網站和與其互動。 Splinter官網

http://splinter.readthedocs.io/en/latest/ 。 Splinter執行的時候會自動開啟你指定的瀏覽器,存取指定的URL。然後你所發展的模擬的任何行為,都會自動完成,你只需要坐在電腦面前,像看電影一樣看著螢幕上各種動作自動完成然後收集結果即可。

了解原理

找到對應URL,找到控制項模擬登入、查詢、訂票操作。關鍵是找到控制項名稱,困難點是起始地不是直接輸入的頁值,需要在cookie中查出。

  • 12306查詢URL:https://kyfw.12306.cn/otn/leftTicket/init
  • 12306登入URL:https://kyfw.12306.cn/otn/login/init
  • 我的12306URL:https://kyfw.12306.cn/otn/index/initMy12306
  • 購票確認URL:https://kyfw.12306.cn/otn/confirmPassenger/initDc

Python程式碼開啟URL,找到控制項填充值:

用 Python 代码自动抢火车票

用 Python 代码自动抢火车票

##找到使用者名稱密碼控制項名稱

用 Python 代码自动抢火车票

#找到起始地控制項名稱

決定起始地的值,方法Chrome瀏覽器中的「檢查」功能(按F12),Network ---> Cookies中找到:

用 Python 代码自动抢火车票

#cookie中起始地的值

拷貝起始地的cookie值,我把幾個常用的城市拷貝出來,放到了字典中:

用 Python 代码自动抢火车票

#查詢車票代碼:

用 Python 代码自动抢火车票

#其實,你只需要執行程式碼:

用 Python 代码自动抢火车票

#當然,還需要手動點一下的還是萬惡的12306驗證碼,搶到票後確認支付就行啦。

用 Python 代码自动抢火车票

#搶票進行中

用 Python 代码自动抢火车票

#搶票成功!

以上是用 Python 程式碼自動搶火車票的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:linuxprobe.com。如有侵權,請聯絡admin@php.cn刪除