爬蟲遭遇重定向如何解決

2021-09-02 05:51:22 字數 1079 閱讀 3046

錯誤記錄:

1.requests.exceptions.toomanyredirects: exceeded 30 redirects

錯誤提示是requests庫有太多的重定向:超過了30個重定向

解決辦法:

error_url = requests.get(news, headers=headers, allow_redirects=false)

print(error_url.status_code)

mypage = error_url.headers["location"]

2.keyerror:

error_url.headers["location"]   #這裡報錯

dict[key]的方法取值,如果鍵key不存在,則會出現報錯

解決方法:

dict.get(key, default=none)
try:

child_url = requests.get(news, headers=headers)

mypage = child_url.content.decode("gbk")

except:

# allow_redirects=false 拒絕預設的301/302重定向從而可以通過html.headers["location"]拿到重定向的url

error_url = requests.get(news, headers=headers, allow_redirects=false)

# 200(成功): 伺服器已成功處理了請求。通常,這表示伺服器提供了請求的網頁

# 301(永久移動) : 請求的網頁已永久移動到新位置。伺服器返回此響應(對 get 或 head 請求的響應)時,會自動將請求者轉到新位置

print(error_url.status_code)

try:

# 301

mypage = error_url.headers["location"]

except:

# 200

mypage = error_url.content.decode("gbk")

介面測試 apipost如何解決介面重定向

在進行介面測試的時候,遇到了自動重定向的介面,只想測試本介面的,不希望跳轉到重定向的頁面。比如301 302重定向 301重定向又稱之為永久性轉移 301轉向 或叫301重定向,301跳轉 是當使用者或搜尋引擎向 伺服器發出瀏覽請求時,伺服器返回的http資料流中頭資訊 header 中的狀態碼的一...

解決重定向問題

嘗試1 模擬維基百科訪問伺服器,發起請求,獲得請求後的鏈結。步驟 1 檢視網頁headers f12 netwaork dot 檢視headers 2 將headers資訊寫進 然後headers向伺服器發起請求獲取url的內容,輸出請求後的狀態碼和請求後的鏈結。通過設定allow redirect...

如何解決python爬蟲亂碼問題

直接上 import requests url html requests.get url text print html 輸出結果亂碼,可這是為什麼呢?很明顯是編碼問題造成的 import requests import sys 輸出我們編譯器所用的編碼 print sys.getdefaulte...