爬蟲技術可以爬https麼?
#首先我們先來理解什麼是https
https是HTTP SSL的簡稱,是在HTTP傳輸方式的基礎上將之前的明文進行了加密傳輸,在傳輸之前就會確定資訊加密方式和秘鑰,在傳輸中即使被捕獲或偽造,那麼也能保證資訊不會被洩露。
而爬蟲本質是偽裝成一個瀏覽器,發送請求給伺服器,參與了整個過程,所以即使https連結也能抓取,但前提是偽造的這個客戶端有正確的SSL憑證。
尋找錯誤根源
爬蟲運行中提示SSL error錯誤的情況,一般是本地證書或相關SSL庫沒有正確安裝、伺服器使用自己製作的CA證書,沒有有權威機構認證
解決證書異常問題
對於CA證書問題我們可以參考下面集中方案:
1.不驗證CA證書,但要忽略安全警告
coding=utf-8import requests# 不验证CA证书则需要忽略安全警告方式一:import urllib3urllib3.disable_warnings()方式二:from requests.packages.urllib3.exceptions import InsecureRequestWarningrequests.packages.urllib3.disable_warnings(InsecureRequestWarning)r=requests.get(url=“https://www.baidu.com/”,verify=False)print r.elapsed.total_seconds()
2.指定憑證位置或含憑證的資料夾(此資料夾是由OpenSSL工具製作的)
coding=utf-8import requestsr=requests.get(url=“https://www.baidu.com/”,verify='/path/to/certfile')
以上是爬蟲技術可以爬https麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!