前言:
博主是一个最近刚刚入门数据爬虫的小小小小白(请多多指教,乖巧.jpg),很多东西都是实践一遍才写的博客(所以原理什么的也不是很深入(/▽\),虽然知识都很零碎,不过我相信慢慢积累还是有用滴~
各位看客觉得有用就好,没用请忽略(love & peace(✿◕ ‿ ◕✿)
一、为啥要获取网页User-Agent?
当我们自己用Python编写代码进行网页爬虫时,会默认向服务器发送一个Python爬取请求,但一般网站是禁止爬虫访问的(HTTP Error 403: Forbidden,这样是很不礼貌滴hhh)
那怎么办呢?我们可以通过修改User-Agent字段来骗过网站
为什么修改User-Agent就可以了呢?User-Agent是啥,这么神通广大?
通过User-Agent字段,网站服务器会知道访问者是通过什么工具来请求的,如果是爬虫请求,无情拒绝;如果是用户浏览器,准许放行。
二、如何获取网页User-Agent?
以好大夫在线_网上问诊,双手点赞好大夫(好大夫)在线_网上问诊,双手点赞好大夫)为例子,打开要爬虫的网页,然后点击浏览器右上角的“更多工具”选项选择开发者工具(博主这里是谷歌浏览器哦~~),或者用快捷键F12打开也行
然后按键盘的F5刷新网页;接着选择Network,再选择Doc;再选择Headers选项卡,在右侧弹出的窗口滚动鼠标滚轮往下划,找到User-Agent字段,选择复制即可
编写代码时将刚才复制的User-Agent字段构造成字典形式,如下
user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.113 Safari/537.36'
headers={'User-Agent':user_agent,}
三、怎么看懂User-Agent字段?
User-Agent一般格式为:Mozilla/5.0 (操作系统) 引擎版本 浏览器版本号
3.1 Mozilla/5.0
如果大家多搜搜几个User-Agent看看就会发现,几乎所有的User-Agent都带有Mozilla字样,为啥?历史遗留的原因,大家都默认此部分(详细的来源大家可以去网上搜搜,一搜一大把~
3.2 操作系统
不同操作系统的写法不一样,大家注意哦~
#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; => 注意不用下划线,用点
3.3 引擎版本
历史原因导致(我也不太懂,忽略跳过),反正最近这部分已经固定,没怎么变过
3.4 浏览器版本号
博主用的是谷歌浏览器,其中60.0 是大版本,3100是持续增大的一个数字,而0则是修补漏洞的小版本