1.問題描述:
淘寶在不登錄的情況下, 許多信息沒有顯示, 而在登錄滑塊驗證時, selenium模擬會被檢測出來, 所以我們利用手機掃碼登錄, 保存cookies並實現之后登錄訪問.
2.代碼實現:
(1)登錄保存cookies
import json
from selenium import webdriver
dirver = webdriver.Chrome()
dirver.get(
'https://login.taobao.com/member/login.jhtml?redirectURL=http%3A%2F%2Fbuyertrade.taobao.com%2Ftrade%2Fitemlist%2Flist_bought_items.htm%3Fspm%3D875.7931836%252FB.a2226mz.4.66144265Vdg7d5%26t%3D20110530')
# 直接用手機掃碼登陸淘寶即可
dictCookies = dirver.get_cookies()
jsonCookies = json.dumps(dictCookies)
# 登錄完成后,將cookies保存到本地文件
with open("cookies_tao.json", "w") as fp:
fp.write(jsonCookies)
(2)讀取cookies,實現免密碼登錄
import json
from selenium import webdriver
browser = webdriver.Chrome()
browser.get("https://www.taobao.com/")
browser.delete_all_cookies()
with open('cookies_tao.json', 'r', encoding='utf-8') as f:
listCookies = json.loads(f.read())
for cookie in listCookies:
browser.add_cookie({
'domain': '.taobao.com', # 此處xxx.com前,需要帶點
'name': cookie['name'],
'value': cookie['value'],
'path': '/',
'expires': None
})
browser.get("https://www.taobao.com/")