當前位置:成語大全網 - 書法字典 - requests.get方法中的標頭

requests.get方法中的標頭

遇到的問題:

使用requests.get方法抓取接口數據時,發現返回的內容中沒有數據部分,返回如下:

{“result _ code“:0,“message“:“成功“}

解決方案:

後來,headers參數被添加到get方法中,headers參數如下所示:

結果:返回的參數包含數據內容。

總結:

參考文章:/p/c5cf6a1967d1

查看請求信息,我們發現我們通常編寫的爬蟲會告訴服務器默認發送了Python爬行請求,但壹般網站是不允許爬蟲訪問的,大概是因為會涉及業務問題。最後,通過更改用戶代理字段,網站很容易被欺騙。

那麽什麽是用戶代理呢?

用戶代理將告訴網站服務器訪問者使用什麽工具來請求。如果是爬蟲請求,壹般會被拒絕。如果是用戶瀏覽器,它會回復。

怎麽用?

最簡單的方法是遵循以下步驟。

詳細版本說明:談談用戶代理字符串的法律和偽造方法

簡要版本說明:

我使用Chrome瀏覽器檢查用戶代理的結果:

用戶代理的常用格式是:

由於歷史上的瀏覽器戰爭,如果妳想獲得壹個帶有圖片和文本的網頁,妳必須聲明自己是Mozilla瀏覽器。因此,Mozilla現在通常用於用戶代理。出於對歷史的尊重,大家都會默認填寫這部分。

Windows NT 10.0是指我使用的操作系統版本。例如,我使用的win10對應於Windows NT 10.0,如果我使用win7,則對應於Windows NT 6.1。

Win64X64意味著我的操作系統是64位的。

在Windows系統下:

在Linux系統下:

在macOS系統下:

apple WebKit/537.36(KHTML,類似Gecko)...Safari/537.36,歷史上,蘋果依靠WebKit內核開發Safari瀏覽器,WebKit包含WebCore引擎,WebCore源自Khtml。由於歷史原因,KHTML引擎需要聲明它是“類似壁虎”的,所以引擎部分這樣寫。後來,谷歌也使用WebKit內核開發了Chrome,因此它也效仿了這壹做法。借用Littern的壹句話:“Chrome希望獲得壹個為Safari編寫的網頁,所以它決定假裝是Safari。Safari使用WebKit渲染引擎,而WebKit假裝是KHTML,KHTML假裝是Gecko。同時,所有瀏覽器都聲稱自己是Mozilla .”。然而,Chrome 28的壹個版本後來改用了blink內核,但仍然保留了這些字符串。而且在最近的幾十個版本中,這部分都是固定的,沒有變化。

我用的是Chrome瀏覽器,其中60.0是大版本,3100是不斷增加的數字,0是修復bug的小版本。

Firefox和IE/Edge的解釋:談談UserAgent字符串的規則和偽造方法。

最後,實際上還有用戶代理:用戶代理封裝教程,可以封裝不同的操作系統和不同的瀏覽器。