当前位置: 首页 > article >正文

数据篇| 关于Selenium反爬杂谈

在这里插入图片描述

友情提示:本章节只做相关技术讨论, 爬虫触犯法律责任与作者无关。

LLM虽然如火如荼进行着, 但是没有数据支撑, 都是纸上谈兵, 人工智能的三辆马车:算法-数据-算力,缺一不可。之前写过关于LLM微调文章《微调入门篇:大模型微调的理论学习》、《微调实操一: 增量预训练(Pretraining)》、《微调实操三:人类反馈对语言模型进行强化学习(RLHF)》、《微调实操四:直接偏好优化方法-DPO》等文章, 奈何无大数据支撑,停留在浅显层面,所以有必要学习数据获取相关技术发展。数据在这个领域起着至关重要的角色。数据作为重要的生产要素, 是企业核心资产,但对于大部分普通用户基本利用爬虫方获取,强如搜索引擎也同样离不开爬虫, 爬虫离不开反爬这个话题。 爬虫除了能够获取数据之外, 对于自动化测试、提高重复性工作效率同样有借鉴意义。

细心的同学肯定会发现,现在网站的验证码、验证逻辑越来越复杂, 以下图为例, 让机器自动化的难度越来越大。

在这里插入图片描述

现在大部分网站都采用js动态渲染, 传统接口抓取的缺点是抓不到 js 渲染后的页面和服务器渲染的web页面。

Selenium 是一个自动化测试工具,利用它可以驱动浏览器执行特定的动作,如点击、下拉等操作,同时还可以获取浏览器当前呈现的页面的源代码,做到可见即可爬。对于一些 JavaScript 动态渲染的页面来说,此种抓取方式非常有效, Selenium虽然能够模拟人的行为, 依然会出现爬虫的限制, 有哪些针对Selenium反爬的策略呢?今天我们一起深入研究一下:

1、 ip 代理, 轮换ip

2、禁用webdriver等自动化标识

3、轮换http header等标识

4、移除JavaScript标志

5、使用cookie

6、使用浏览器插件


http://www.kler.cn/news/318211.html

相关文章:

  • Python3将Excel数据转换为文本文件
  • 【鸿蒙 HarmonyOS NEXT】组件嵌套滚动:nestedScroll
  • 【html】基础(二)
  • 量化交易----数据透视表----融资融券优惠代码
  • 响应式布局-媒体查询父级布局容器
  • spring boot导入多个配置文件
  • #C++ enum枚举
  • Qt/C++ 多线程同步机制详解及应用
  • Shiro-550—漏洞分析(CVE-2016-4437)
  • 详解QT插件机制
  • ARM/Linux嵌入式面经(三三):大疆
  • zabbix email 告警
  • [大语言模型-论文精读] ACL2024-长尾知识在检索增强型大型语言模型中的作用
  • Invalid Executable The executable contains bitcode
  • 报错error: RPC failed,curl 16 Error in the HTTP2 framing layer解决方法
  • 自动化学习3:日志记录及测试报告的生成--自动化框架搭建
  • 数据库课程 CMU15-445 2023 Fall Project-2 Extendible Hash Index
  • WebAssembly (Wasm) 与 JavaScript 字符串交互
  • shardingjdbc分库分表原理
  • 实战16-RVP定义完成适配
  • rocky9.2的lvs的NAT模式下的基本使用的详细示例
  • SpringBoot使用@Async注解,实现异步任务
  • 002.k8s(Kubernetes)一小时快速入门(先看docker30分钟)
  • WPF经典面试题全集
  • JavaEE: 深入探索TCP网络编程的奇妙世界(一)
  • 【MySQL】数据类型【mysql当中各自经典的数据类型的学习和使用】
  • Leetcode 136 只出现一次的数字
  • EfficientFormer实战:使用EfficientFormerV2实现图像分类任务(一)
  • WPF 的TreeView的TreeViewItem下动态生成TreeViewItem
  • 合宙LuatOS应用,与时间相关那些事