使用 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工具

Undress AI Tool
免費脫衣圖片

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

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

Stock Market GPT
人工智慧支援投資研究,做出更明智的決策

熱門文章

熱工具

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

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

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

Dreamweaver CS6
視覺化網頁開發工具

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

運行pipinstall-rrequirements.txt可安裝依賴包,建議先創建並激活虛擬環境以避免衝突,確保文件路徑正確且pip已更新,必要時使用--no-deps或--user等選項調整安裝行為。

本教程詳細介紹瞭如何將PEFT LoRA適配器與基礎模型高效合併,生成一個完全獨立的模型。文章指出直接使用transformers.AutoModel加載適配器並手動合併權重是錯誤的,並提供了使用peft庫中merge_and_unload方法的正確流程。此外,教程還強調了處理分詞器的重要性,並討論了PEFT版本兼容性問題及解決方案。

Pytest是Python中簡單強大的測試工具,安裝後按命名規則自動發現測試文件。編寫以test_開頭的函數進行斷言測試,使用@pytest.fixture創建可複用的測試數據,通過pytest.raises驗證異常,支持運行指定測試和多種命令行選項,提升測試效率。

theargparsemodulestherecommondedwaywaytohandlecommand-lineargumentsInpython,提供式刺激,typeValidation,helpmessages anderrornhandling; useSudys.argvforsimplecasesRequeRequeRingminimalSetup。

本文旨在探討Python及NumPy中浮點數計算精度不足的常見問題,解釋其根源在於標準64位浮點數的表示限制。針對需要更高精度的計算場景,文章將詳細介紹並對比mpmath、SymPy和gmpy等高精度數學庫的使用方法、特點及適用場景,幫助讀者選擇合適的工具來解決複雜的精度需求。

PyPDF2、pdfplumber和FPDF是Python處理PDF的核心庫。使用PyPDF2可進行文本提取、合併、拆分及加密,如通過PdfReader讀取頁面並調用extract_text()獲取內容;pdfplumber更適合保留佈局的文本提取和表格識別,支持extract_tables()精準抓取表格數據;FPDF(推薦fpdf2)用於生成PDF,通過add_page()、set_font()和cell()構建文檔並輸出。合併PDF時,PdfWriter的append()方法可集成多個文件

獲取當前時間在Python中可通過datetime模塊實現,1.使用datetime.now()獲取本地當前時間,2.用strftime("%Y-%m-%d%H:%M:%S")格式化輸出年月日時分秒,3.通過datetime.now().time()獲取僅時間部分,4.推薦使用datetime.now(timezone.utc)獲取UTC時間,避免使用已棄用的utcnow(),日常操作以datetime.now()結合格式化字符串即可滿足需求。

Import@contextmanagerfromcontextlibanddefineageneratorfunctionthatyieldsexactlyonce,wherecodebeforeyieldactsasenterandcodeafteryield(preferablyinfinally)actsas__exit__.2.Usethefunctioninawithstatement,wheretheyieldedvalueisaccessibleviaas,andthesetup
