jumpingchu / PChome-AutoBuy

【Python / Selenium】使用爬蟲自動化購買 PChome 商品
BSD 2-Clause "Simplified" License
111 stars 49 forks source link
chrome pchome python selenium

使用工具

使用方法

  1. 將 repo 複製到自己的資料夾,並安裝需要的套件

    $ git clone https://github.com/jumpingchu/PChome-AutoBuy.git
    $ cd PChome-AutoBuy
    $ pip install -r requirements.txt
  2. 準備 chromedriver

    • MacOS

      1. 安裝 chromedriver

        $ brew install chromedriver

        install_driver_mac

      2. settings.pyDRIVER_PATH 填入上面顯示的路徑(如:/usr/local/bin/chromedriver)

    • Windows

      1. 在 Chrome 網址列輸入 chrome://settings/help 確認自己的 Chrome 版本(本人是使用 v91.0)
      2. 下載對應 Chrome 版本的 chromedriver.exe 並放在同個資料夾內 (前往下載)
  3. settings.py 填入資料(請保管好個資)

  4. 執行程式

    $ python pchome_autobuy.py

注意事項

  1. 可以先拿其他的商品連結做測試,以防搶購時的突發狀況或錯誤(但請記得馬上取消訂單!)

  2. settings.py 內的 CHROME_PATH 可讓 chrome 記住登入資訊,可提升搶購速度,建議使用

  3. 部分程式碼依照每個人不同狀況,需要做一些調整,細節請參閱 下一小節 或是程式碼註解

  4. 本專案 尚未適用 於數量多於1或必須選擇顏色或樣式的商品

  5. 禁止用於大量收購並哄抬價格的黃牛行為

程式執行流程

  1. 進入商品頁連結、取得商品 ID,判斷商品是否開賣(若未開賣則會 1 秒後重試,達 5 次即停止)

  2. 將商品加入購物車

  3. 前往購物車

  4. 登入帳戶

    • 若有使用 CHROME_PATH 記住登入資訊,第二次執行程式前可選擇註解掉
  5. 點選一次付清 (或 LINE Pay)

  6. 提示訊息點擊「確定」

    • 此為近期物流較忙碌的特殊狀況,但仍有某些商品不會出現
  7. 填入身分證字號、生日、信用卡安全碼

  8. 勾選同意

    • 若帳號有設定記住付款資訊,要記得註解掉
  9. 點擊送出訂單

FAQ

Q1:程式沒有繼續進行下一個步驟?

--

Q2:使用了 CHROME_PATH 卻還是要重新登入?

--

Q3:有「結帳禮」擋住購買流程?

--

Q4:一直無法加入購物車?

貢獻