anti-bot bypassing,

测试反爬通过手段

nowSecure

spiderbuf

测试playwright会被nowSecure检测吗

codegen过不了“确定你是真人”

反反爬措施:

ZenRows API

ZenRows 基于 API 的反机器人绕过解决方案是网络爬虫和网络爬虫评价最高的解决方案之一。

它的工作原理是对一系列反机器人解决方案进行 API 调用,并提供轮换代理、自定义标头、WAF 绕过和 CAPTCHA 绕过工具等解决方案。

反爬原理和反反方法

限制访问速度/用户

限制访问速度不高于阈值,如果高于则封ip或者返回错误值;如果某用户异常,则禁止用户访问

应对

限制访问速度

1
2
import time
time.sleep(1)

身份反爬

行为特征反爬

数据加密反爬

防盗链

盗链是指在自己的页面上展示一些其它服务器上的内容,使用别人的图片、 音乐、视频、软件等资源。通过盗链可以减轻自己服务器的负担,增加它人服务器带宽等费用。

防盗链通过Refer或者签名检查阻止盗链行为,如果不是跳转而是直接打开会显示403即无权限,有时我们单独打开网页上图片发生403就是这个情况。

原理

方法

在头中添加资源网站的referer

1
2
3
4
headers = {
'referer':'https://www.bilibili.com/',
user-agent':'Mozilla/5.0 (Windows NT 10.0;Win64;x64)AppleWebKi...
}

Failed to load resource: net::ERR_BLOCKED_BY_CLIENT开发者工具网络中显示,需要关掉广告屏蔽插件

反逆向

无限debugger

原理

在JavaScript代码中插入很多debugger语句,当有人尝试使用浏览器的开发者工具(例如F12),debugger语句会被触发,导致调试工具无法正常运作,从而防止JS逆向。

使用debugger语句类似于在代码中设置断点,当运行到debugger这一行的代码时,JavaScript会暂停执行,并调用可用的调试器(如果存在)。这种机制允许开发者逐行检查代码的行为,查看当前的变量值、调用栈信息等,帮助开发者查找和修复代码中的问题。

破解方法

1.禁用全局/局部断点
2.替换掉所有的debugger语句

hook

js混淆还原

控制流混淆

参考

如何使用 Selenium 避免机器人检测 - ZenRows
爬虫教程( 5 ) — Selenium、PhantomJS、selenium反检测、cdp ( ichrome )、Playwright、DrissionPage_playywright与drissionpage对比-CSDN博客