首页 > 其他分享 >常见反爬措施——ua反爬

常见反爬措施——ua反爬

时间:2023-03-15 13:12:16浏览次数:39  
标签:浏览器 伪装 反爬 常见 fake useragent ua

UA伪装

  在爬虫过程中许多网站都会存在一些反爬措施,有些防护措施不高,像ua反爬这种只检查浏览器信息的防护措施。简单介绍一下

一、User-Agent简介

  用户代理(User-Agent),表示的是用户的浏览器相关信息,该反爬逻辑是通过服务器端验证请求头中的 User-Agent 参数,然后区分是爬虫程序还是正常的浏览器访问。

  访问任意网站,唤醒开发者工具,然后在控制台中输入 navigator.userAgent,就可以获取到 UA 字符串(User-Agent 字符串)。

  同样,可以在network(网络)中的标头中找到自己的ua信息。

信息详解:

  UA 字符串的格式一般可以这么理解:

  • 平台 引擎版本 浏览器版本信息。

  如果在详细分解,可以得到如下格式:

  • 浏览器标识 (操作系统标识;加密等级;浏览器语言) 引擎版本 浏览器版本信息。

含义:

  • Mozilla/5.0:表示浏览器;
  • Windows NT 6.1:操作系统,我这里得到的是 Windows 7 操作系统;
  • Win64/WOW64:64 位操作系统;
  • x64:发行版本;
  • N,I,U:加密等级,这里没有出现;
  • AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36:这个如果你去研究,也有很多趣事,不过咱们理解其是浏览器的版本就可以了。

二、反爬案例运用

在这里介绍ua伪装的两种方法:

1、fake_useragent

  • python第三方库,我们通过pip install fake_useragent命令下载,可以随机生成一个ua信息,进行ua伪装。
import fake_useragent

ua = fake_useragent.UserAgent()

print(ua.random)

 结果如图所示:

  • 同时也可以指定你想要的浏览器类型进行伪装。

2、网站复制ua信息

  • 在下面这个网站上复制你所要的ua信息,组建一个列表,循环取用即可。
  • https://useragentstring.com/pages/useragentstring.php?typ=Browser

  对于ua的伪装个人建议使用fake_useragent库自己生成1000个,然后放进列表中,进行循环取用,这样可以节省一些运行时间,当然怕麻烦也可以直接导入换headers。

  对于ua伪装的介绍就到这里了,后续有新发现会继续补充!

标签:浏览器,伪装,反爬,常见,fake,useragent,ua
From: https://www.cnblogs.com/LoLong/p/17218116.html

相关文章

  • Quartz组件的搭建及实现任务调度demo
    1.基本环境配置<dependency>​<groupId>org.slf4j</groupId>​<artifactId>slf4j-log4j12</artifactId>​<version>1.7.25</version>​</dependency><d......
  • Java中List、Map常见实现类
    一、List1.ArrayList底层是数组实现,线程不安全publicclassArrayList<E>extendsAbstractList<E>implementsList<E>,RandomAccess,Cloneable,java.io.S......
  • VS CODE运行DJango项目中遇到:{无法加载文件 D:\code\python_project\virtualenv\e
    如题在vscode中在切换python解释器(输入之前创建的虚拟环境的解释器路径)后,打开控制板会报一下错误:无法加载文件D:\code\python_project\virtualenv\env-py3.8.2\Scripts......
  • 前端常见react面试题合集
    React高阶组件、Renderprops、hooks有什么区别,为什么要不断迭代这三者是目前react解决代码复用的主要方式:高阶组件(HOC)是React中用于复用组件逻辑的一种高级技巧。H......
  • 【Retry】消息重试框架 Spring-Retry 和 Guava-Retry
    消息重试框架背景1、调用第三方的方法或接口等,并不保证一次性就能调用成功2、消息推送,MQ消费后才进行处理时,尝试几次不成功,就再放回数据库再做补偿措施等等,这些都是需......
  • 应用内支付服务现网、沙盒环境下常见关键事件的对比与总结
    在集成和调试订阅型商品时,我们会依赖沙盒环境来进行模拟实际场景。订阅型商品的购买流程和一次性商品的购买流程类似,但订阅还有其他细节场景,比如续订成功或失败,续订周期时......
  • Visual Studio 2022 安装.NET Framework4.5及以下目标包
    VisualStudio2022不再支持.NET4.5,如果打开.Net4.8目标包或.NET4.8以下的.NET版本项目时,会提示不再支持。即使在VisualStudioInstaller中也找不到.NET4.5及以下的选......
  • 性能测试岗位常见面试题
    转载:https://www.cnblogs.com/imyalost/p/9249159.html面试岗位:性能测试工程师职位类型:全职面试问题:详见下文一、基础篇1、较为完整的性能测试的流程一个完整的性能......
  • Swift 5.5之Continuation
    Continuation是Swift5.5中引入的一种新的编程模型,用于管理异步任务的结果。它允许您在异步任务完成后使用结果继续执行代码,可以与Async/Await一起使用,以简化异步编程。下......
  • 常见图片格式--JPG、PNG、GIF、BMP
    1、JPG文件格式:(1)JPG=“段”+经过压缩编码的图像数据什么是‘段’?段是一种数据结构,主要是来控制一段数据怎样存储和表示,段的结构如下:段=段标识+段类型+......