求解下述user_agent 里面的具体含义?user_agent可以修改吗?

clipboard.png
如图所示现在有几个问题为如下 烦请大神回答下:
1.这个useragent怎么分割去看呢?是用 '/'作为分隔符吗?
2.在第一红色框框中抓到了 (compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/s...
这句话在useragent里面是什么意思?
2.在第二个红色框框中 这个user_agent:
' Mozilla/5.0 (Linux; U; Android 5.1.1; zh-CN; OPPO R9 Plust A Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/11.6.4.950 UCBS/2.11.1.26 Mobile Safari/537.36 AliApp(TB/7.2.1) WindVane/8.0.0 1080X1920 '中具体各个内容是这样分割的吗?

看到Android 5.1.1 是不是说这个手机是android系统?

看到 OPPO R9 Plust 是不是说明是OPPO手机?

看到4.0 Chrome 是不是说明是 Chrome 浏览器 但是 UCBrowser 又是UC浏览器 ,同时又看到
Mobile Safari 这个东西,这不是 苹果自带的safari浏览器吗? 那么这样这不是就矛盾了吗?

求大神详细解释下,这两条ueer_agent 的具体含义?
另外,为什么他们的差异这么大,如果我想提取出不同的字段部分,怎么提出来呢?

Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 (compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/s...

Mozilla/5.0 (Linux; U; Android 5.1.1; zh-CN; OPPO R9 Plust A Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/11.6.4.950 UCBS/2.11.1.26 Mobile Safari/537.36 AliApp(TB/7.2.1) WindVane/8.0.0 1080X1920

Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 (compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/s...

clipboard.png

阅读 4k
1 个回答

UA就是用来标识访问者是什么浏览器/设备的,浏览器和爬虫开发时都可以随意修改,基本各大浏览器也都有UA修改插件

1、一般你可以选择直接正则匹配就行了,比如腾讯网首页里的js就是这么做的,因为一些浏览器本身兼容性不行,会干脆把其他UA也加入自己的UA里来强行欺骗服务端来减少网页不兼容提示(比如Edge,还有国内的360,一个IE口碑太差一个本身口碑太差都被逼的)

2、这个是百度爬虫...Baiduspider,Baidu Spider,没什么好说的

UA本身可以随便修改的,所以不要尝试提取不同的部分,比如我写个特殊接口,要求使用UA传递加密参数后才能访问,你怎么截取?你应该明确你需要提取哪些信息(比如浏览器,访问设备等),然后通过正则去匹配是否存在关键字,而不是把UA每一部分都拆开,问题的关键在于UA本身没有一个统一规范,在HTTP规范中只说了UA应该用作统计用途,但是并没有规定具体拥有哪些字段和如何解析

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题