爬蟲多次訪問同一個網站一段時間后會出現錯誤 HTTPConnectionPool(host:XX)Max retries exceeded with url '<requests.packages.urllib3.connection.HTTPConnection object at XXXX>: Failed to establish a new connection: [Errno 99] Cannot assign requested address'
是因為在每次數據傳輸前客戶端要和服務器建立TCP連接,為節省傳輸消耗,默認為keep-alive,即連接一次,傳輸多次,然而在多次訪問后不能結束並回到連接池中,導致不能產生新的連接
headers中的Connection默認為keep-alive,
將header中的Connection一項置為close
headers = {
'Connection': 'close',
}
r = requests.get(url, headers=headers)
此時問題解決