日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python访问网页如何查看user-agent_HTTP请求头之User-Agent

發布時間:2023/12/15 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python访问网页如何查看user-agent_HTTP请求头之User-Agent 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

之前學習北京理工嵩天老師的《Python網絡爬蟲與信息提取》時,爬取亞馬遜的一款圖書的詳細信息時出現以下錯誤:

![Upload 亞馬遜爬蟲.PNG failed. Please try again.]

查看請求信息,發現我們一般寫的爬蟲會默認告訴服務器自己發送了一個Python爬取請求,而一般網站是不允許被爬蟲訪問的,估計是因為會涉及到商業問題。最后,通過更改User-Agent字段就可以輕易騙過該網站。

那么User-Agent到底是什么呢?

User-Agent會告訴網站服務器,訪問者是通過什么工具來請求的,如果是爬蟲請求,一般會拒絕,如果是用戶瀏覽器,就會應答。

又該如何使用呢?

調試工具

最簡單的方法就是按照下面步驟進行

打開你要爬蟲的網頁

按鍵盤的F12或手動去瀏覽器右上角的“更多工具”選項選擇開發者工具

按鍵盤的F5刷新網頁

點擊Network,再點擊Doc

點擊Headers,查看Request Headers的User-Agent字段,直接復制

將剛才復制的User-Agent字段構造成字典形式

什么?你想搞懂這個User-Agent字段,然后自己構建。

User-Agent字段解釋

簡要版解釋:

我用的Chrome瀏覽器,查看User-Agent的結果:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3100.0 Safari/537.36

User-Agent通常格式:

Mozilla/5.0 (平臺) 引擎版本 瀏覽器版本號

第一部分:Mozilla/5.0

由于歷史上的瀏覽器大戰,當時想獲得圖文并茂的網頁,就必須宣稱自己是 Mozilla 瀏覽器。此事導致如今User-Agent里通常都帶有Mozilla字樣,出于對歷史的尊重,大家都會默認填寫該部分。

第二部分:平臺這部分可由多個字符串組成,用英文半角分號分開

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

Win64; x64是指我的操作系統是64位的

Windows系統下:

Windows NT 5.0 // 如 Windows 2000

Windows NT 5.1 // 如 Windows XP

Windows NT 6.0 // 如 Windows Vista

Windows NT 6.1 // 如 Windows 7

Windows NT 6.2 // 如 Windows 8

Windows NT 6.3 // 如 Windows 8.1

Windows NT 10.0 // 如 Windows 10

Win64; x64 // Win64 on x64

WOW64 // Win32 on x64

Linux系統下:

X11; Linux i686; // Linux 桌面,i686 版本

X11; Linux x86_64; // Linux 桌面,x86_64 版本

X11; Linux i686 on x86_64 // Linux 桌面,運行在 x86_64 的 i686 版本

macOS系統下:

Macintosh; Intel Mac OS X 10_9_0 // Intel x86 或者 x86_64

Macintosh; PPC Mac OS X 10_9_0 // PowerPC

Macintosh; Intel Mac OS X 10.12; // 不用下劃線,用點

第三部分:引擎版本

AppleWebKit/537.36 (KHTML, like Gecko)...Safari/537.36,歷史上,蘋果依靠了WebKit內核開發出Safari瀏覽器,WebKit包含了WebCore引擎,而WebCore又從KHTML衍生而來。由于歷史原因,KHTML引擎需要聲明自己是“類似Gecko”的,因此引擎部分這么寫。再后來,Google開發Chrome也是用了WebKit內核,于是也跟著這么寫。借用Littern的一句話:“Chrome 希望能得到為Safari編寫的網頁,于是決定裝成Safari,Safari使用了WebKit渲染引擎,而WebKit呢又偽裝自己是KHTML,KHTML呢又是偽裝成Gecko的。同時所有的瀏覽器又都宣稱自己是Mozilla。”。不過,后來Chrome 28某個版本改用了blink內核,但還是保留了這些字符串。而且,最近的幾十個版本中,這部分已經固定,沒再變過

第四部分:瀏覽器版本

本人用的是Chrome瀏覽器,其中60.0 是大版本,3100是持續增大的一個數字,而0則是修補漏洞的小版本。

最后,居然有大佬封裝了不同操作系統不同瀏覽器的User-Agent:User-Agent封裝使用教程

總結

以上是生活随笔為你收集整理的python访问网页如何查看user-agent_HTTP请求头之User-Agent的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。