1. 程式人生 > 其它 >解決python爬蟲requests.exceptions.SSLError: HTTPSConnectionPool(host='XXX', port=443)問題

解決python爬蟲requests.exceptions.SSLError: HTTPSConnectionPool(host='XXX', port=443)問題

requests.exceptions.SSLError: HTTPSConnectionPool(host='img001.arc-theday.com', port=443): Max retries exceeded with url: /images/comic/193/384543/1557910165o_6UxaVFXV-tqq2f.jpg (Caused by SSLError(SSLError(1, '[SSL: INVALID_SESSION_ID] invalid session id (_ssl.c:1129)')))

今天試著爬一個漫畫網站的漫畫來看看,沒想到遇到下面的這個問題了。

requests.exceptions.SSLError: HTTPSConnectionPool(host='img001.arc-theday.com', port=443): Max retries exceeded with url: /images/comic/193/384543/1557910165o_6UxaVFXV-tqq2f.jpg (Caused by SSLError(SSLError(1, '[SSL: INVALID_SESSION_ID] invalid session id (_ssl.c:1129)')))

解決方法一:
1.先檢查pip有沒安裝cryptography,pyOpenSSL,certifi要是沒有先安裝
pip install cryptography
pip install pyOpenSSL
pip install certifi

2.要是以上這些已安裝還是繼續報錯,則在網頁請求程式碼中加上這個 verify=False 就可以解決報錯,程式碼可執行。
requests.get(url,headers,verify=False)

解決方法二:
在前面新增以下程式碼

import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning
 
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

如果兩種方法都不行的話,再去問問度娘吧,我是沒法子了。

箴言:因為這些東西是非常簡單的。不要抱怨自己學不會,那是因為你沒有足夠用心。