我正在使用 selenium 抓取資料,以進行一項學術研究,該研究將測驗 facebook 和網路上的某些用戶行為將如何影響他們看到的廣告。
為此,我需要有一種假用戶,它將首先與 facebook 互動,然后訪問一些帶有 facebook cookie 的網站,讓 facebook 繼續跟蹤其行為,然后回傳 facebook。
我沒有做過太多的 Web 開發,而且我似乎對如何為這種情況保留和加載 cookie 感到困惑。
我一直在嘗試使用以下代碼片段保存和加載烹飪:
# saving
pickle.dump(driver.get_cookies(), cookiesfile)
# loading
cookies = pickle.load(cookiesfile)
for cookie in cookies:
driver.add_cookie(cookie)
在 facebook 上,這將創建一個錯誤訊息彈出視窗告訴我重新加載,或者將我重定向到登錄頁面。在其他網站上,即使是那些明確宣告他們有 facebook 跟蹤器的網站,這也會導致InvalidCookieDomainException.
我究竟做錯了什么?
uj5u.com熱心網友回復:
我建議不要自己處理 cookie,而是使用ChromeOptions持久化瀏覽器會話。這可能對維護本地存盤和其他 cookie 更有幫助。
下次您打開瀏覽器會話時,chrome 實體將加載以前的“組態檔”并將繼續維護它。
options = webdriver.ChromeOptions()
options.add_argument('user-data-dir={}'.format(<path_to_a_folder_reserved_for_browser_data>))
driver = webdriver.Chrome(executable_path=<chromedriver_exe_path>, options=options)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/435968.html
上一篇:Winsocksendto在網路配接器被禁用或物理斷開后回傳廣播地址的錯誤10049(WSAEADDRNOTAVAIL)
下一篇:更改域時未正確重定向https
