HTTP請求頭之User-Agent

前言

之前學(xué)習(xí)北京理工嵩天老師的《Python網(wǎng)絡(luò)爬蟲與信息提取》時俏站,爬取亞馬遜的一款圖書的詳細信息時出現(xiàn)以下錯誤:

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

查看請求信息食零,發(fā)現(xiàn)我們一般寫的爬蟲會默認(rèn)告訴服務(wù)器自己發(fā)送了一個Python爬取請求,而一般網(wǎng)站是不允許被爬蟲訪問的遭商,估計是因為會涉及到商業(yè)問題。最后序宦,通過更改User-Agent字段就可以輕易騙過該網(wǎng)站辟癌。


那么User-Agent到底是什么呢?
User-Agent會告訴網(wǎng)站服務(wù)器巍棱,訪問者是通過什么工具來請求的惑畴,如果是爬蟲請求,一般會拒絕航徙,如果是用戶瀏覽器桨菜,就會應(yīng)答。

又該如何使用呢捉偏?

調(diào)試工具

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

  • 打開你要爬蟲的網(wǎng)頁
  • 按鍵盤的F12或手動去瀏覽器右上角的“更多工具”選項選擇開發(fā)者工具
  • 按鍵盤的F5刷新網(wǎng)頁
  • 點擊Network,再點擊Doc
  • 點擊Headers泻红,查看Request Headers的User-Agent字段夭禽,直接復(fù)制
  • 將剛才復(fù)制的User-Agent字段構(gòu)造成字典形式

什么?你想搞懂這個User-Agent字段谊路,然后自己構(gòu)建讹躯。

User-Agent字段解釋

詳細版解釋:談?wù)?UserAgent 字符串的規(guī)律和偽造方法

簡要版解釋:

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

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

由于歷史上的瀏覽器大戰(zhàn)缠劝,當(dāng)時想獲得圖文并茂的網(wǎng)頁潮梯,就必須宣稱自己是 Mozilla 瀏覽器。此事導(dǎo)致如今User-Agent里通常都帶有Mozilla字樣惨恭,出于對歷史的尊重秉馏,大家都會默認(rèn)填寫該部分。

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

Windows NT 10.0是指我使用的操作系統(tǒng)的版本萝究,比如我使用的win10對應(yīng)的就是Windows NT 10.0,如果我使用win7對應(yīng)的就是Windows NT 6.1锉罐。
Win64; x64是指我的操作系統(tǒng)是64位的

Windows系統(tǒng)下:

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系統(tǒng)下:

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

macOS系統(tǒng)下:

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內(nèi)核開發(fā)出Safari瀏覽器秒紧,WebKit包含了WebCore引擎绢陌,而WebCore又從KHTML衍生而來。由于歷史原因噩茄,KHTML引擎需要聲明自己是“類似Gecko”的下面,因此引擎部分這么寫。再后來绩聘,Google開發(fā)Chrome也是用了WebKit內(nèi)核沥割,于是也跟著這么寫。借用Littern的一句話:“Chrome 希望能得到為Safari編寫的網(wǎng)頁凿菩,于是決定裝成Safari机杜,Safari使用了WebKit渲染引擎,而WebKit呢又偽裝自己是KHTML衅谷,KHTML呢又是偽裝成Gecko的椒拗。同時所有的瀏覽器又都宣稱自己是Mozilla』袂”蚀苛。不過,后來Chrome 28某個版本改用了blink內(nèi)核玷氏,但還是保留了這些字符串堵未。而且,最近的幾十個版本中盏触,這部分已經(jīng)固定渗蟹,沒再變過

第四部分:瀏覽器版本

本人用的是Chrome瀏覽器,其中60.0 是大版本赞辩,3100是持續(xù)增大的一個數(shù)字雌芽,而0則是修補漏洞的小版本。

關(guān)于Firefox與IE/Edge的講解:談?wù)?UserAgent 字符串的規(guī)律和偽造方法

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末世落,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子召庞,更是在濱河造成了極大的恐慌岛心,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件篮灼,死亡現(xiàn)場離奇詭異忘古,居然都是意外死亡,警方通過查閱死者的電腦和手機诅诱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進店門髓堪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事干旁∈徽樱” “怎么了?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵争群,是天一觀的道長回怜。 經(jīng)常有香客問我,道長换薄,這世上最難降的妖魔是什么玉雾? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮轻要,結(jié)果婚禮上复旬,老公的妹妹穿的比我還像新娘。我一直安慰自己冲泥,他們只是感情好驹碍,可當(dāng)我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著凡恍,像睡著了一般志秃。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上嚼酝,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天洽损,我揣著相機與錄音,去河邊找鬼革半。 笑死,一個胖子當(dāng)著我的面吹牛流码,可吹牛的內(nèi)容都是我干的又官。 我是一名探鬼主播,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼漫试,長吁一口氣:“原來是場噩夢啊……” “哼六敬!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起驾荣,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤外构,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后播掷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體审编,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年歧匈,在試婚紗的時候發(fā)現(xiàn)自己被綠了垒酬。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖勘究,靈堂內(nèi)的尸體忽然破棺而出矮湘,到底是詐尸還是另有隱情,我是刑警寧澤口糕,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布缅阳,位于F島的核電站,受9級特大地震影響景描,放射性物質(zhì)發(fā)生泄漏十办。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一伏伯、第九天 我趴在偏房一處隱蔽的房頂上張望橘洞。 院中可真熱鬧,春花似錦说搅、人聲如沸炸枣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽适肠。三九已至,卻和暖如春候引,著一層夾襖步出監(jiān)牢的瞬間侯养,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工澄干, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留逛揩,地道東北人。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓麸俘,卻偏偏與公主長得像辩稽,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子从媚,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 一拜效、基礎(chǔ)知識篇:Http Header之User-AgentUser Agent中文名為用戶代理喷众,是Http協(xié)議中...
    iPhone閱讀 15,758評論 0 13
  • 一、基礎(chǔ)知識篇:Http Header之User-AgentUser Agent中文名為用戶代理紧憾,是Http協(xié)議中...
    大牧莫邪閱讀 63,561評論 3 21
  • User Agent中文名為用戶代理到千,簡稱 UA,它是一個特殊字符串頭赴穗,使得服務(wù)器能夠識別客戶使用的操作系統(tǒng)及版本...
    劍老濕閱讀 2,298評論 0 9
  • 瀏覽器發(fā)展史 現(xiàn)在瀏覽器已經(jīng)成為網(wǎng)上生活的重要家園和工具父阻。而從1991年愈涩,Web之父Tim Berners-Lee...
    波段頂?shù)?/span>閱讀 16,858評論 6 86
  • 作為傳統(tǒng)的英式簡易面包,葡萄干司康略顯平庸的外貌似乎很難在眾面包中勝出加矛,但是它的簡單快捷一直深受人們的喜愛履婉,十分鐘...
    萊客優(yōu)購烘培閱讀 279評論 0 0