Python搶票程式教學 搶票機器人
大家應該多少都有搶票的經驗吧,可能是演唱會或是一些熱賣的便宜商品,或是2023搶棒球經典賽門票、魔獸、林書豪的球賽門票,可是卻常常看到商品在一兩秒內就售完,因此覺得是被電商平台內定!由於之前有在電商工作的經驗,所以對這方面的東西非常清楚,其實大多是一些人利用外掛程式將資訊快速填上並按送出,跟傻傻輸入資料的我們比起來當然快多了!而最近受到妹妹的委託要來搶Friday電商平台上面的PS5,因此這邊內容就是如何快速填妥資料來搶限定商品及搶限定門票,用python搶票機器人來自動完成訂單!
- 使用語言:Python
- 使用工具:Jupyter Notebook, Chromedriver
- 使用的 Python Package:Selenium
Chromedriver 下載連結(記得版本需與電腦Chrome相同)
from selenium import webdriver
driver = webdriver.Chrome('./chromedriver')
driver.get('要去的頁面網址')
完成前面三行後就可以進入到我們要前往的網址,之後我們需要做一些與頁面互動的動作,像是點擊購買、輸入基本資料、地址等等
在頁面空白處點選右鍵 -> 檢查,會看到如上圖跳出的右邊那一大區塊,點選最上方的箭頭,之後點選左邊頁面上要互動的區域(這邊是立即買),右邊方區塊會有對應的部分變成藍色,接下來在那個區域點選右鍵 -> 複製 -> 複製XPath,將XPath貼入下面程式碼中的引號中,按下執行就會看到網頁自動點選了!
driver.find_element_by_xpath(“//*[@id=\”e3_buy\”]/span”).click()
接下來會進入登入環節,透過上面的方法找出需要填入的位址,將你的帳號密碼填入,按下執行,之後執行下面的區塊點選結帳按鍵
# 帳號密碼的登入
account = driver.find_element_by_xpath(“//*[@id=\”j_username\”]”)
account.clear()
account.send_keys(“你的登入帳號”)
password = driver.find_element_by_xpath(‘//*[@id=\”j_password\”]’)
password.clear()
password.send_keys(“你的登入密碼”)
driver.find_element_by_xpath(“//*[@id=\”login_btn\”]”).click()# 下面是跳轉後點選結帳
driver.find_element_by_xpath(“//*[@id=\”contarea-box\”]/ul/li/div[3]/button[1]/span”).click()
接著會進入個人資料頁面,如果過去有用這個帳號買過就不用這段喔,多跑會有錯誤產生(所有網站概念都大同小異,根據自己的目標網站改程式碼)
name = driver.find_element_by_xpath(“//*[@id=\”billingname\”]”)
name.clear()
name.send_keys(“你的名字”)
phone = driver.find_element_by_xpath(“//*[@id=\”billingmobile\”]”)
phone.clear()
phone.send_keys(“你的電話”)
email = driver.find_element_by_xpath(“//*[@id=\”billingemail\”]”)
email.clear()
email.send_keys(“你的email”)
homee = driver.find_element_by_xpath(“//*[@id=\”addConsigneeCityId2\”]”)
homee.send_keys(“你的城市,這邊要打清楚,如:台北市”)
year = driver.find_element_by_xpath(“//*[@id=\”birthday_year\”]”)
year.send_keys(“你的出生西元年”)
month = driver.find_element_by_xpath(“//*[@id=\”birthday_month\”]”)
month.send_keys(“出生月份,不能加0喔,如3,10才可,03不行”)
day = driver.find_element_by_xpath(“//*[@id=\”birthday_day\”]”)
day.send_keys(“出生日”)
homee2 = driver.find_element_by_xpath(“//*[@id=\”address3\”]”)
homee2.send_keys(“地址”)# 每次購買都需再次填入信用卡驗證碼
cvc = driver.find_element_by_xpath("//*[@id=\"creidtcard_record_area_default\"]/div/div[2]/input[2]")
cvc.clear()
cvc.send_keys("信用卡驗證碼")# 女生的話gender後面要改成2
driver.find_element_by_xpath(“//*[@id=\”gender1\”]”).click()# 點擊同聯絡人的欄位
driver.find_element_by_xpath(“//*[@id=\”same\”]”).click()
driver.find_element_by_xpath(“//*[@id=\”same2\”]”).click()
最後最後,記得點送出鍵!執行完最後一行就可以囉!
driver.find_element_by_xpath(“//*[@id=\”use3d\”]/input[2]”).click()
整體執行起來可以一次Shift Enter按到底,我用得網路比較快,大概5秒就跑完了,而且都是網頁自己等待的時間,執行程式不到0.5秒!用Python自動搶票、搶商品真的很方便,推薦大家一起使用程式來搶票!
搶票和搶商品的邏輯大同小異,大家可以直接複製貼上改一些內容即可,如果有成功搶到票或搶到商品,記得幫忙按一下拍手喔,有問題或需要幫忙也歡迎留言,下面附上github連結
如果使用Momo歡迎用下面2023 Momo首購優惠連結,可以獲得購物金!
https://momo.dm/UnJ2rU
幫上忙的話歡迎下面連結贊助一杯小咖啡