python爬蟲狀態碼521(python爬蟲狀態碼404)

本文目錄一覽:

Python爬蟲之Header

HTTP 「請求頭信息」 Request Header 是向服務端提供客戶端的信息,「響應頭信息」 Response Header 是服務端向客戶端提供請求文檔信息或伺服器的狀態信息,服務端判斷服務端的身份,就是通過 Header 來判斷的,所以爬蟲通過設置 Header 來隱藏自己相當重要。

一個完整的HTTP請求包含以下部分:

請求方法 URL HTTP版本

請求頭信息

請求數據

一個空行,請求的結束行

常見的請求頭:

Accept :客戶端接收的數據類型,如:Accept:text/html

User Agent :客戶端軟體類型

Authorization :認證消息,包括用戶名和口令

Referer :用戶獲取的Web頁面

真實的請求頭信息會更多,下面是豆瓣某短評的真實請求頭:

一個完整的HTTP響應包含以下部分:

狀態行

響應頭

響應數據

常見的狀態行:

更多狀態碼查看: HTTP狀態碼

常見的響應頭:

Server :Web伺服器程序的信息

Date :當前伺服器的日期和時間

Last Modified :請求文檔最近一次修改的時間

Expires :請求文檔過期時間

Content-length :數據長度(位元組)

Content-type :數據MIME類型

WWW-authenticate :用於通知客戶方需要的認證信息,如用戶名,口令等

下面是豆瓣某短評的真實響應頭:

Python使用Requests來請求的時候,如果沒有設置Header,Header是空的,設置Header的方法如下:

python爬蟲錯誤提示

你這個url裡面的單引號用的有問題呀,如果用單引號那外圍就用雙引號,裡面套單引號,或者不用,你這都用單引號,應該會報錯的。

全方面的掌握Requests庫的使用【python爬蟲入門進階】(02)

上一篇文章簡單的介紹了 爬蟲相關的基礎知識點,介紹了一個標準爬蟲程序的三個步驟 。這篇文章就讓我們接著來學習。

本文重點介紹requests庫的使用以及爬蟲協議。之前也寫了一篇 Requests庫使用的博客 ,有興趣的小夥伴可以去看看。

前面介紹了Requests庫是用來抓取網頁源碼,請求介面的利器,整體上是要比urllib庫的request更加好用的庫。官網上將其稱之為唯一一個非轉基因的Python HTTP庫,人類可以安全享用。

Requests庫有7個主要方法。

不過我們平常最常用的方法還是GET方法和POST方法。

get請求方法是爬蟲中最常用到的方法,因為爬蟲主要就是爬取網頁的信息。最基礎的使用是

這裡需要通過 res.encoding=’utf-8′ 設置響應結果的編碼格式是utf-8。不然可能會出現中文亂碼

如果響應結果是二進位數據的話則需要通過 res.content 方法來提取響應結果。

設置編碼的方式也可以是 res.content.decode(‘utf-8’) 。

有時候get請求也需要傳入參數,這裡可以直接將參數拼接到URL上或者通過params參數傳入一個字典。

運行結果是:

get請求只能傳入簡單的參數,如果參數比較複雜或者傳入的參數比較多的話則GET請求就不再適用了,這時候就需要適用post請求方法了。

Post請求的請求類型有三種:

以表單的方式提交數據是POST請求的默認的請求格式,只需要將參數放在一個字典中進行傳入即可。

這裡將請求頭的數據放在一個名為header的字典中,然後在請求時通過headers參數傳入。在請求中設置了內容類型是 application/json ,編碼格式是 charset=utf-8

傳入的是一個json字元串,通過data參數進行傳入。json字元串可以直接寫也可以通過 json.dumps(dict) 方法將一個字典序列化,就像下面這樣。

文件上傳與本節爬蟲的內容無關,在此就不過多介紹了。有興趣的小夥伴可以看看 Python中如何編寫介面,以及如何請求外部介面 這篇文章。

在網路請求中,我們常常會遇到狀態碼是3開頭的重定向問題,在Requests中是默認開啟允許重定向的,即遇到重定向時,會自動繼續訪問。通過將allow_redirects 屬性設置為False不允許重定向。

通過timeout屬性可以設置超時時間,單位是秒。get方法和post方法均可設置。

通過status_code屬性可以獲取介面的響應碼。

有時候我們使用了抓包工具,這時候由於抓包證書提供的證書並不是受信任的數字證書頒發機構頒發的,所以證書的驗證會失敗,所以我們就需要關閉證書驗證。在請求的時候把verify參數設置為False就可以關閉證書驗證了。

爬蟲協議也叫做robots協議,告訴網路蜘蛛哪些頁面可以爬取,哪些頁面不能爬取

爬蟲文件的規範是:

允許所有的機器人

本文詳細介紹了Request庫的使用

python 爬蟲時,urllib2.HTTPError:HTTP Error 502:Bad Gateway是什麼原因?怎麼解決?

可能是那個網站阻止了這類的訪問,只要在請求中加上偽裝成瀏覽器的header就可以了,比如:

headers = {  

    ‘User-Agent’:’Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6′  

}  

req = urllib2.Request(  

    url = “”

,

    headers = headers

)

myResponse  = urllib2.urlopen(req)

請教各位,python編寫爬蟲,返回http error 521怎麼解決

有些網站使用了Cookie,如果你沒有進行處理,伺服器當然就不認咯。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/288969.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-24 03:01
下一篇 2024-12-24 03:01

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29

發表回復

登錄後才能評論