爬蟲---User-Agent

一、基礎知識篇:
HttpHeader之User-Agent
UserAgent中文名爲用戶代理,是Http協議中的一部分,屬於頭域的組成部分,UserAgent也簡稱UA。它是一個特殊字符串頭,是一種向訪問網站提供你所使用的瀏覽器類型及版本、操作系統及版本、瀏覽器內核、等信息的標識。通過這個標識,用戶所訪問的網站可以顯示不同的排版從而爲用戶提供更好的體驗或者進行信息統計;例如用手機訪問谷歌和電腦訪問是不一樣的,這些是谷歌根據訪問者的UA來判斷的。UA可以進行僞裝。
瀏覽器的UA字串的標準格式:瀏覽器標識(操作系統標識;加密等級標識;瀏覽器語言)渲染引擎標識版本信息。但各個瀏覽器有所不同。
字串說明:
1、瀏覽器標識
出於兼容及推廣等目的,很多瀏覽器的標識相同,因此瀏覽器標識並不能說明瀏覽器的真實版本,真實版本信息在UA字串尾部可以找到。

2、操作系統標識


FreeBSD   X11;FreeBSD(version no.)i386
                  X11;FreeBSD(version no.)AMD64
Linux        X11;Linux ppc
                 X11;Linux ppc64
X11;Linux i686
X11;Linux x86_64
Mac      Macintosh;PPC Mac OS X
              Macintosh;Intel Mac OS X
Solaris  X11;SunOS i86pc
              X11;SunOs sun4u
Windows  Windows NT 6.1   對應windows7
  Windows NT 6.0   對應windows Vista
  Windows NT 5.2 對應windows 2003
  Windows NT 5.1   對應windows xp
  Windows NT 5.0   對應windows 2000
Windows ME
Windows 98

3、加密等級標識
N:表示無安全加密
I:表示弱安全加密
U:表示強安全加密

4、瀏覽器語言
在首選項>常規>語言中指定的語言

5、渲染引擎
顯示瀏覽器使用的主流渲染引擎有:Gecko、WebKit、KHTML、Presto、Trident、Tasman等,格式爲:渲染引擎/版本信息

6、版本信息
顯示瀏覽器的真實版本信息,格式爲:瀏覽器/版本信息

瀏覽器User-Agent的詳細信息

PC端:
safari5.1–MAC
User-Agent:Mozilla/5.0(Macintosh;U;IntelMacOSX10_6_8;en-us)AppleWebKit/534.50(KHTML,likeGecko)Version/5.1Safari/534.50

safari5.1–Windows
User-Agent:Mozilla/5.0(Windows;U;WindowsNT6.1;en-us)AppleWebKit/534.50(KHTML,likeGecko)Version/5.1Safari/534.50

IE9.0
User-Agent:Mozilla/5.0(compatible;MSIE9.0;WindowsNT6.1;Trident/5.0;

IE8.0
User-Agent:Mozilla/4.0(compatible;MSIE8.0;WindowsNT6.0;Trident/4.0)

IE7.0
User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT6.0)

IE6.0
User-Agent:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1)

Firefox4.0.1–MAC
User-Agent:Mozilla/5.0(Macintosh;IntelMacOSX10.6;rv:2.0.1)Gecko/20100101Firefox/4.0.1

Firefox4.0.1–Windows
User-Agent:Mozilla/5.0(WindowsNT6.1;rv:2.0.1)Gecko/20100101Firefox/4.0.1

Opera11.11–MAC
User-Agent:Opera/9.80(Macintosh;IntelMacOSX10.6.8;U;en)Presto/2.8.131Version/11.11

Opera11.11–Windows
User-Agent:Opera/9.80(WindowsNT6.1;U;en)Presto/2.8.131Version/11.11

Chrome17.0–MAC
User-Agent:Mozilla/5.0(Macintosh;IntelMacOSX10_7_0)AppleWebKit/535.11(KHTML,likeGecko)Chrome/17.0.963.56Safari/535.11

傲遊(Maxthon)
User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Maxthon2.0)

騰訊TT
User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;TencentTraveler4.0)

世界之窗(TheWorld)2.x
User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1)

世界之窗(TheWorld)3.x
User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;TheWorld)

搜狗瀏覽器1.x
User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Trident/4.0;SE2.XMetaSr1.0;SE2.XMetaSr1.0;.NETCLR2.0.50727;SE2.XMetaSr1.0)

360瀏覽器
User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;360SE)

Avant
User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;AvantBrowser)

GreenBrowser
User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1)

移動設備端:

safariiOS4.33–iPhone
User-Agent:Mozilla/5.0(iPhone;U;CPUiPhoneOS4_3_3likeMacOSX;en-us)AppleWebKit/533.17.9(KHTML,likeGecko)Version/5.0.2Mobile/8J2Safari/6533.18.5

safariiOS4.33–iPodTouch
User-Agent:Mozilla/5.0(iPod;U;CPUiPhoneOS4_3_3likeMacOSX;en-us)AppleWebKit/533.17.9(KHTML,likeGecko)Version/5.0.2Mobile/8J2Safari/6533.18.5

safariiOS4.33–iPad
User-Agent:Mozilla/5.0(iPad;U;CPUOS4_3_3likeMacOSX;en-us)AppleWebKit/533.17.9(KHTML,likeGecko)Version/5.0.2Mobile/8J2Safari/6533.18.5

AndroidN1
User-Agent:Mozilla/5.0(Linux;U;Android2.3.7;en-us;NexusOneBuild/FRF91)AppleWebKit/533.1(KHTML,likeGecko)Version/4.0MobileSafari/533.1

AndroidQQ瀏覽器Forandroid
User-Agent:MQQBrowser/26Mozilla/5.0(Linux;U;Android2.3.7;zh-cn;MB200Build/GRJ22;CyanogenMod-7)AppleWebKit/533.1(KHTML,likeGecko)Version/4.0MobileSafari/533.1

AndroidOperaMobile
User-Agent:Opera/9.80(Android2.3.4;Linux;OperaMobi/build-1107180945;U;en-GB)Presto/2.8.149Version/11.10

AndroidPadMotoXoom
User-Agent:Mozilla/5.0(Linux;U;Android3.0;en-us;XoomBuild/HRI39)AppleWebKit/534.13(KHTML,likeGecko)Version/4.0Safari/534.13

BlackBerry
User-Agent:Mozilla/5.0(BlackBerry;U;BlackBerry9800;en)AppleWebKit/534.1+(KHTML,likeGecko)Version/6.0.0.337MobileSafari/534.1+

WebOSHPTouchpad
User-Agent:Mozilla/5.0(hp-tablet;Linux;hpwOS/3.0.0;U;en-US)AppleWebKit/534.6(KHTML,likeGecko)wOSBrowser/233.70Safari/534.6TouchPad/1.0

NokiaN97
User-Agent:Mozilla/5.0(SymbianOS/9.4;Series60/5.0NokiaN97-1/20.0.019;Profile/MIDP-2.1Configuration/CLDC-1.1)AppleWebKit/525(KHTML,likeGecko)BrowserNG/7.1.18124

WindowsPhoneMango
User-Agent:Mozilla/5.0(compatible;MSIE9.0;WindowsPhoneOS7.5;Trident/5.0;IEMobile/9.0;HTC;Titan)

UC無
User-Agent:UCWEB7.0.2.37/28/999

UC標準
User-Agent:NOKIA5700/UCWEB7.0.2.37/28/999

UCOpenwave
User-Agent:Openwave/UCWEB7.0.2.37/28/999

UCOpera
User-Agent:Mozilla/4.0(compatible;MSIE6.0;)Opera/UCWEB7.0.2.37/28/999

二、瀏覽器識別
1、IE瀏覽器(以IE9.0爲例)
PC端:User-Agent:Mozilla/5.0(compatible;MSIE9.0;WindowsNT6.1;Trident/5.0;
移動設備:User-Agent:Mozilla/5.0(compatible;MSIE9.0;WindowsPhoneOS7.5;Trident/5.0;IEMobile/9.0;HTC;Titan)
由於遨遊、世界之窗、360瀏覽器、騰訊瀏覽器以及搜狗瀏覽器、Avant、GreenBrowser均採用IE的內核,因此IE瀏覽器判斷的標準是”MSIE“字段,MSIE字段後面的數字爲版本號,但同時還需要判斷不包含”Maxthon“、”Theworld“、”360SE“、”TencentTraveler“、”SE“、”Avant“等字段(GreenBrowser沒有明顯標識)。移動設備還需要判斷IEMobile+版本號。

2、360瀏覽器
PC端:User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Trident/4.0;InfoPath.2;.NET4.0C;.NET4.0E;.NETCLR2.0.50727;360SE)
移動設備:暫無
360瀏覽器的判斷標準是”360SE”字段,沒有版本表示。

3、搜狗瀏覽器
PC端:User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Trident/4.0;SE2.XMetaSr1.0;SE2.XMetaSr1.0;.NETCLR2.0.50727;SE2.XMetaSr1.0)
移動設備:暫無
搜狗瀏覽器的判斷標準是”SE“、”MetaSr“字段,版本號爲SE後面的數字。

4、Chrome
PC端:Mozilla/5.0(Macintosh;IntelMacOSX10_7_0)AppleWebKit/535.11(KHTML,likeGecko)Chrome/17.0.963.56Safari/535.11
移動設備:User-Agent:Mozilla/5.0(Linux;U;Android2.2.1;zh-cn;HTC_Wildfire_A3333Build/FRG83D)AppleWebKit/533.1(KHTML,likeGecko)Version/4.0MobileSafari/533.1
PC端chrome瀏覽器的判斷標準是chrome字段,chrome後面的數字爲版本號;移動端的chrome瀏覽器判斷”android“、”linux“、”mobilesafari“等字段,version後面的數字爲版本號。

5、Safari
PC端:User-Agent:Mozilla/5.0(Macintosh;U;IntelMacOSX10_6_8;en-us)AppleWebKit/534.50(KHTML,likeGecko)Version/5.1Safari/534.50
移動設備:User-Agent:Mozilla/5.0(iPhone;U;CPUiPhoneOS4_3_3likeMacOSX;en-us)AppleWebKit/533.17.9(KHTML,likeGecko)Version/5.0.2Mobile/8J2Safari/6533.18.5
由於Chrome及Nokia’sSeries60browser也使用WebKit內核,因此Safari瀏覽器的判斷必須是:包含safari字段,同時不包含chrome等信息,確定後”version/“後面的數字即爲版本號。在以上條件下包含Mobile字段的即爲移動設備上的Safari瀏覽器。

6、騰訊瀏覽器
PC端:User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Trident/4.0;TencentTraveler4.0;.NETCLR2.0.50727)
移動設備:User-Agent:MQQBrowser/26Mozilla/5.0(Linux;U;Android2.3.7;zh-cn;MB200Build/GRJ22;CyanogenMod-7)AppleWebKit/533.1(KHTML,likeGecko)Version/4.0MobileSafari/533.1
騰訊瀏覽器的判斷標準是”TencentTraveler“或者”QQBrowser“,TencentTraveler或QQBrowser後面的數字爲版本號。

7、Firefox
PC端:User-Agent:Mozilla/5.0(WindowsNT6.1;rv:2.0.1)Gecko/20100101Firefox/4.0.1
移動設備:User-Agent:Mozilla/5.0(Android;Linuxarmv7l;rv:5.0)Gecko/Firefox/5.0fennec/5.0
Firefox的判斷標準是Firefox字段,firefox後面的數字爲版本號。


8、Theworld
PC端:User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;TheWorld)
移動設備:暫無
Theworld瀏覽器的判斷標準是”Theworld“字段,沒有標示版本號。
需要注意的是:Theworld2.x版本的User-Agent中沒有”Theworld“的字段。

9、遨遊
PC端:User-Agent:Mozilla/4.0(compatible;MSIE7.0;WindowsNT5.1;Maxthon2.0)
移動設備:暫無
遨遊瀏覽器的判斷標準是”Maxthon“,Maxthon後面的數字爲版本號。

10、Opera
PC端:User-Agent:Opera/9.80(WindowsNT6.1;U;en)Presto/2.8.131Version/11.11
移動設備:User-Agent:Opera/9.80(Android2.3.4;Linux;Operamobi/adr-1107051709;U;zh-cn)Presto/2.8.149Version/11.10
opera瀏覽器的判斷標準是opera字段,opera字段後面的數字爲版本號。

11、UC瀏覽器
UCWeb有多種模式瀏覽方式,對應的User-Agent爲:
UC無
User-Agent:UCWEB7.0.2.37/28/999
UC標準
User-Agent:NOKIA5700/UCWEB7.0.2.37/28/999
UCOpenwave
User-Agent:Openwave/UCWEB7.0.2.37/28/999
UCOpera
User-Agent:Mozilla/4.0(compatible;MSIE6.0;)Opera/UCWEB7.0.2.37/28/999
UC瀏覽器的判斷標準是”UCWEB“字段,UCWEB後面的數字爲版本號。
操作系統定向
操作系統定向依賴於各個瀏覽器在打開頁面時所傳輸的httpheader信息中的User-Agent,關於User-Agent的說明,請參見Httpheader之User-Agent。
User-Agent的詳細信息,請參見瀏覽器User-Agent的詳細信息。

我們來了解User-Agent中的不同操作系統的識別方法。
PC端:
FreeBSD  X11;FreeBSD(version no.)i386
         X11;FreeBSD(version no.)AMD64
Linux    X11;Linux ppc
         X11;Linux ppc64
X11;Linux i686
X11;Linux x86_64
Mac      Macintosh;PPC Mac OS X
         Macintosh;Intel Mac OS X
Solaris  X11;SunOS i86pc
         X11;SunOs sun4u
Windows  Windows NT 6.1   對應windows7
Windows NT 6.0   對應windows Vista
Windows NT 5.2 對應windows 2003
Windows NT 5.1   對應windows xp
Windows NT 5.0   對應windows 2000
Windows ME
Windows 98

移動設備端:
iOS       iPhone OS 4_3_3  iPhone/iPod
OS 4_3_3         iPad
Android     Android 2.3.7    後面數字爲版本號
WebOs       hpwOS/3.0.0
SymbianOS   SymbianOS/9.4
Windows Phone OS   Windows Phone OS 7.5
BlackBerry   BlackBerry



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章