selenium爬虫如何绕过反爬,看这一篇文章就足够了

34 篇文章 460 订阅 ¥299.90 ¥99.00

关闭/开启WebRTC
背景

经常有使用selenium的同学在访问网页的过程中发现,程序跑着跑着就被服务器给ban了。

当然对于一般情况下,咱们加个代理继续跑,没毛病。

然后跑着跑着又被封了。

纳尼?开始灵魂发问:

  • 是浏览器里关于webdriver的痕迹没有清除?
  • 是因为canvas指纹识别真实用户?
  • 还是时区和地理位置不一致?
  • 其他等等…

今天我们来说另外一种可能,就是其实你加上了代理也等于白加了 因为网页使用了一种叫WebRTC的技术识别出了你本地电脑真实IP

什么是WebRTC

参考维基百科解释webrtc:

WebRTC,名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准[2][3][4]。

我翻译一下:

  • 说人话就是说浏览器内置了一些API接口,这些API可以用来方便一些网站进行实时通信类的功能开发,比如语音、视频等流媒体网站
  • 既然是浏览器接口,网站前端js代码可以直接调用这些浏览器接口,具体js接口大家可以去搜索
  • 使用webrtc技术的网站js调用浏览器接口是绕过浏览器代理直接与webrtc服务器建立tcp或者udp
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
绕过反爬虫机制是一个敏感的话题,因为它可能涉及到绕过网站的正当保护措施。作为一个 AI 助手,我鼓励遵守网站的规则和政策,并建议使用合法和道德的方法进行数据收集。 然而,有些网站可能会采取一些简单的反爬虫措施,比如检测浏览器的 User-Agent、使用验证码或限制频繁请求等。在这种情况下,你可以尝试以下方法来减轻反爬虫机制对 Selenium 的影响: 1. 修改 User-Agent:通过设置 WebDriver 的 User-Agent 字段,可以让你的请求看起来更像是来自真实的浏览器。例如,你可以使用 `webdriver.ChromeOptions()` 来创建一个选项对象,并使用 `add_argument()` 方法来设置 User-Agent。 ```python from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36") driver = webdriver.Chrome(options=options) ``` 2. 使用代理服务器:通过使用代理服务器,你可以隐藏你的真实 IP 地址,并访问网站时模拟不同的地理位置和 IP。你可以使用 Selenium 的 `webdriver.ChromeOptions()` 来设置代理服务器。 ```python from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument("--proxy-server=http://your-proxy-server-ip:port") driver = webdriver.Chrome(options=options) ``` 3. 处理验证码:如果网站使用了验证码来阻止自动化访问,你可以使用第三方库(如 pytesseract)来识别和处理验证码。请注意,绕过验证码可能是违法的,所以在进行此操作之前,请确保你对网站的规则和法律有充分的了解。 无论你使用何种方法,都应该遵守网站的规则和政策,并确保你的行为合法、道德且不侵犯他人的权益。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安替-AnTi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值