【緊急情況】:回宿舍放下書包的我,花了20分鐘敲了一個搶購指令碼
Get_cookie.py
Get_cookie.py – 老朋友又來了,《小玩意兒》專欄中已經說爛咯,那在這就簡單說明一下吧:
在 20 秒內登入某寶,獲取登入後的 Cookie ,儲存為 taobao_cookies.txt ,這是實現自動登入前的必須一個步驟。
直接拿走���
from selenium import webdriver
from time import sleep
import json
if __name__ == '__main__':
driver = webdriver.Chrome()
driver.maximize_window()
driver.get(')
sleep(20)
dictCookies = driver.get_cookies() # 獲取 list 的 cookies
jsonCookies = json.dumps(dictCookies) # 轉換成字串儲存
with open('taobao_cookies.txt', 'w') as f:
f.write(jsonCookies)
print('cookies 儲存成功! ')
開搶
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import datetime
import time
import json
class Taobao(object):
def __init__(self):
# 登入以下網址即可直接跳轉到購物車
self.url = '
self.driver = webdriver.Chrome()
self.driver.get(self.url)
self.driver.maximize_window()
# 自動登入
def login(self):
# 獲取儲存下的 cookie 值
with open('taobao_cookies.txt', 'r', encoding='utf8') as f:
listCookies =跟單網gendan5.com json.loads(f.read())
# 往 browser 裡新增 cookies
for cookie in listCookies:
cookie_dict = {
'domain': '.taobao.com',
'name': cookie.get('name'),
'value': cookie.get('value'),
"expires": '',
'path': '/',
'httpOnly': False,
'HostOnly': False,
'Secure': False
}
self.driver.add_cookie(cookie_dict)
self.driver.refresh()
# 等待快速登入按鈕出現並點選
WebDriverWait(self.driver, 1000).until(
EC.presence_of_element_located((By.XPATH, '//div[@class="fm-btn"]/button'))
)
self.driver.find_element(By.XPATH, '//div[@class="fm-btn"]/button').click()
def shopping_cart(self):
# 設定時間等待,等到時間到了立即開搶
startTime = datetime.datetime(2022, 11, 10, 20, 0, 1)
print(' 正在等待開搶 ...')
while datetime.datetime.now() < startTime:
time.sleep(1)
# 點選全選
WebDriverWait(self.driver, 1000).until(
EC.presence_of_element_located((By.XPATH, '//div[@id="J_SelectAll1"]'))
)
self.driver.find_element(By.XPATH, '//div[@id="J_SelectAll1"]').click()
# 等待結算按鈕出現後點選
WebDriverWait(self.driver, 1000).until(
EC.element_to_be_clickable((By.XPATH, '//a[@id="J_Go"]'))
)
self.driver.find_element(By.XPATH, '//a[@id="J_Go"]').click()
time.sleep(0.5)
try:
self.driver.find_element(By.XPATH, '//a[@id="J_Go"]').click()
except:
pass
WebDriverWait(self.driver, 1000).until(
EC.element_to_be_clickable((By.LINK_TEXT, ' 提交訂單 '))
)
# 等待“提交訂單”元素載入完畢後點選
self.driver.find_element(By.LINK_TEXT, ' 提交訂單 ').click()
def run(self):
self.login()
self.shopping_cart()
taobao = Taobao()
taobao.run()
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2923503/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 讓我們來用php編寫一個搶購商品指令碼PHP指令碼
- Linux常見緊急情況處理方法(轉)Linux
- Linux常見的緊急情況的處理方法(轉)Linux
- 花了20分鐘,給女朋友們寫了一個web版群聊程式Web
- [BUG]Appium1.9.1 這個問題竟然花了我5分鐘進行定位APP
- 面試官讓我5分鐘內寫一個搶紅包程式,我和他說了半小時原理!面試
- 一個分詞指令碼分詞指令碼
- 一分鐘釋出一個屬於自己的npm包NPM
- 我花了一週讀了Kafka Producer的原始碼Kafka原始碼
- Python版中秋佳節月餅搶購指令碼Python指令碼
- Tom新書的一個小bug——mystat指令碼新書指令碼
- Bash指令碼15分鐘進階教程指令碼
- 敲了這麼多年程式碼,這樣的登入方式還真是頭一回見
- 我轉行前端花了11個月前端
- 帶你一分鐘理解閉包
- Bash指令碼15分鐘進階指導指令碼
- 【Python秒殺指令碼】淘寶或京東等秒殺搶購Python指令碼
- 曠世奇書:塗抹ORACLE--三思筆記上市啦,趕緊去搶購啊~Oracle筆記
- 我花了一個星期,做出了公司的管理系統,只需幾個步驟!
- 利用 JS 指令碼實現網頁全自動秒殺搶購JS指令碼網頁
- 10分鐘入門Shell指令碼程式設計指令碼程式設計
- Shell指令碼程式設計30分鐘入門指令碼程式設計
- 帶你一分鐘理解 JavaScript 閉包JavaScript
- 夢碎IPO的百果園,給水果零售業敲了個警鐘!
- 一個簡單的Linux啟動jar包的shell指令碼LinuxJAR指令碼
- 如何用crontab每隔1分鐘執行一個命令列指令碼,shell設定時任務命令列指令碼
- 花了一個星期,我終於把RPC框架整明白了!RPC框架
- 一個新的簡單好學的框架:dinamica(20分鐘)框架
- Flask一分鐘Mock一個APIFlaskMockAPI
- 一分鐘奪回Windows系統許可權Windows
- 用最少的程式碼手工實現一個Promise,5分鐘看懂Promise
- 五分鐘實現一個chrome外掛(含原始碼)Chrome原始碼
- 15 分鐘用 ML 破解一個驗證碼系統
- 5分鐘實現一個Koa
- 緊急時刻,有這麼一個二話不說放下工作立馬趕來的兄弟,足矣!
- 一步一個腳印,3分鐘教你看Vue 原始碼???Vue原始碼
- 我想做一個指令碼更新一些excel表/細胞。指令碼Excel
- 如何在 20 分鐘內釋出一個正式的 ERC20 通證