python_selenium_driver

【爬蟲教學】如何讓 Selenium 多線池執行時 driver 不會重複開啟

發佈於 2 則留言分類: 03 Python 爬蟲教學10 所有文章

本篇主要紀錄使用 Selenium 搭配 Multi-threading Pool (多執行緒池/多線程池) 遇到 web driver 會重複開啟和關閉的問題,導致效率大幅下降,解決方法是使用 threading.local 將 driver 變數存 local 來判斷是否有需要重複開啟 使用 threading.local() 利用 threading.local() 的方法將 driver 變數存在 thread 線程內,當每次 thread 線程重新執行時會先 getattr 看看有無 driver 沒有的話就會重新開啟。 import threadingthreadLocal = threading.local()def get_driver(): driver = getattr […]

python_selenium_error

【爬蟲筆記】Python Selenium Webdriver異常問題集

發佈於 1 則留言分類: 03 Python 爬蟲教學10 所有文章

在開發 Python Selenium 爬蟲遇到了不少坑,花了很多時間找問題和解決方法,所以記錄一下,希望遇到相同問題的人有幫助 Python Selenium Webdriver 異常記錄 發生 selenium.common.exceptions.TimeoutException 問題: 可以在 driver 這邊設定 timeout 超時時間 driver.set_page_load_timeout(110) try: “do something”except TimeoutException as e: driver.close() driver.quit() time.sleep(10) break  發生 ConnectionResetError: [Errno 104 […]