User-Agent||如何获取一个网页的User-Agent?图文演示,耐心教你~~

前言:

        博主是一个最近刚刚入门数据爬虫的小小小小白(请多多指教,乖巧.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则是修补漏洞的小版本

  • 35
    点赞
  • 139
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是一个获取随机User-Agent的Java工具类示例: ```java import java.util.Random; public class RandomUserAgent { private static final String[] USER_AGENTS = { "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.69 Safari/537.36", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36", "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; AS; rv:11.0) like Gecko", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0", "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0" }; public static String getRandomUserAgent() { Random random = new Random(); return USER_AGENTS[random.nextInt(USER_AGENTS.length)]; } } ``` 使用方法: ```java String userAgent = RandomUserAgent.getRandomUserAgent(); System.out.println(userAgent); ``` 每次调用 `getRandomUserAgent()` 方法都会随机返回一个 User-Agent 字符串。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值