使用 selenium 讀取需要登入會員的網頁
使用selenium 寫爬蟲讀取網頁內容是很常見的需求,不過你可能會遇到需要先登錄帳號才能爬取內容的網頁,像是博客來上限制級的書就是這樣的例子,你會看到如下的交談窗:
由於登錄帳號後會利用 cookie 記錄已登錄資訊,為了讀取這樣的網頁,我們可以先手動登錄,登錄之後匯出 cookie 到檔案。之後利用 selenium 爬取網頁時,再將匯出的 cookie 重新加入,重新整理網頁即可正常讀取網頁內容了。
匯出 cookie
請先利用 selenium 開啟欲讀取的網頁,這裡以部落格來為例:
這時請依照正常程序登入會員,然後安裝 cookie_editor 外掛:
請記得切回部落格來的首頁,利用外掛以 JSON 格式匯出所有的 cookie:
它會將 cookie 內容複製到剪貼簿上,請自行貼到文字編輯器存檔。
重新加入 cookie
接著把 selenium 關閉,再重新開啟:
要加入 cookie,一定要在跟 Cookie 相同網域的網頁,所以要記得先開啟部落格來網頁。接著就可以開啟儲存 cookie 的檔案,載入成為 Pytho 的字典:
再把 cookie 一一加回去:
這時你應該會看到以下的錯誤:
這是因為cookie-editor 匯出的資料中,在sameSite 屬性中是以null 表示"no_restriction" 表示沒有限制一定要是同一個網站,但是selenium 只認得"Strict", "Lax", "None"這三種限制,所以診斷為錯誤,我們必須手動修改JSON 檔,自行把所有sameSite屬性值都改為"None"(注意是字串喔),也請檢查把網域不是".books.com.tw " 的cookie 刪除:
修改完之後,重新載入並加入 cookie 就不會出錯了。
重新整理網頁讓 cookie 生效
加入 cookie 後,你看到的畫面仍然是未登入的畫面:
必須重新整理網頁才能讓 cookie 生效:
看到的就是登錄會員的頁面了:
這樣就可以利用 selenium 讀取需要登入會員的頁面了。
最後要提醒的就是 cookie 都有時效,如果一段時間過後無法利用先前儲存的 cookie 登錄,只要重新依據上述步驟重新取得 cookie 就可以了。
以上是使用 selenium 讀取需要登入會員的網頁的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

攻克Investing.com的反爬蟲策略許多人嘗試爬取Investing.com(https://cn.investing.com/news/latest-news)的新聞數據時,常常�...

Python3.6環境下加載pickle文件報錯:ModuleNotFoundError:Nomodulenamed...

使用Scapy爬蟲時管道文件無法寫入的原因探討在學習和使用Scapy爬蟲進行數據持久化存儲時,可能會遇到管道文�...
