如何绕过PerimeterX(二):关于PerimeterX中_px2和_px3的绕过思路

文章介绍了如何使用智能代理如ZenRows、强化的无头浏览器如Selenium和Puppeteer,以及API和验证码解决服务来规避PerimeterX的反机器人保护。还提到了利用Google缓存作为抓取内容的一种方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

书接上回;

方法#1:使用智能代理绕过 PerimeterX

您可以使用智能代理来处理反机器人挑战并返回必要的数据或会话 cookie 以访问您需要的内容。

目标是通过轮换住宅代理、随机化用户代理和模仿自然模式来模仿人类行为。这一切都在后端进行,因此不必担心编写长行代码。

与标准代理相比,智能代理提供更高级别的匿名性。因此,它们的流量大多与自然的人类流量没有区别。除其他因素外,这使它们成为绕过 PerimeterX 机器人检测系统的绝佳工具。

ZenRows是智能代理的一个示例,它使用户能够绕过 PerimeterX 和任何机器人检测系统。可以通过指定目标 URL 来模仿人类行为并解决反机器人挑战。

ZenRows 支持所有编程语言,包括 Python、Java、Node.js、Go、Ruby 等。以下是使用 Python 的快速示例:

# pip install requests
import requests

url = 'https://www.ssense.com/en-ca'
apikey = 'Your_API_Key'
params = {
    'url': url,
    'apikey': apikey,
	'antibot': 'true',
	'premium_proxy': 'true',
}
response = requests.get('https://api.zenrows.com/v1/', params=params)


print(response.text)
# ....<title>Luxury fashion &amp; independent designers | SSENSE Canada</title>...

方法#2:使用强化的无头浏览器
虽然无头浏览器最初是为测试而设计的,但它们已经发展成为重要的网络抓取工具。然而,它们具有自动化特征,使它们很容易被 PerimeterX 等反机器人系统识别。常见的比如:navigator.webdriver。

话虽这么说,最流行的无头浏览器,如 Selenium、Puppeteer 和 Playwright,都提供了可让您强化网络抓取工具的解决方案:

未检测到的 Selenium Chromedriver
Puppeteer 隐形插件,适用于 Puppeteer 和 Playwright。
多年来,虽然是开源的,但是这些工具已被证明很有用。这意味着他们可能无法跟上 PerimeterX 等不断发展的机器人管理系统。

但是,即使可以,仍然存在缺点。例如,它们消耗大量的 CPU、内存和带宽资源。所以,无头浏览将不可避免地导致抓取成本和性能问题。

尽管您可以采取阻止资源等措施来提高性能,但不加载它们也可能会将您标记为机器人。

方法 #3:使用 API 进行 PerimeterX 绕过
此时,您可能会想,“难道没有任何现有的可靠的 PerimeterX 其他方式?”。

残酷的现实是,到 2023 年,使用公共软件(例如您可以在 GitHub 上找到的库)很难绕过 PerimeterX 反机器人服务。然而,其中一些,例如Puppeteer Stealth,值得一试。

此外,基于 Chrome、Chromium、Firefox 或 Selenium 的标准无头浏览器需要非常具体的配置才能工作。此外,由于此类软件的源代码是公开的,PerimeterX 开发人员可以更新其反机器人系统来检测它。

一种选择是编写您自己的 PerimeterX 旁路代码,尽管最简单的方法是使用专为该工作设计的私有软件。ZenRows 就是一个可靠的例子。

方法#4:PerimeterX 验证码绕过
PerimeterX 可能会显示验证码作为您访问网站内容时必须通过的挑战的一部分。有时,仅在检测到可疑活动(例如请求过多)时才会显示它们。这为您提供了两种绕过它们的方法:

防止触发验证码。
当它们出现时解决它们。
第一种是推荐的方法,因为它在规模上更可靠并且便宜得多。强化的无头浏览器、智能代理等解决方案可以帮助您在雷达下飞行。

另一方面,当出现验证码时,您必须解决它们。这只能通过 2Captcha 等付费验证码解决服务来实现。他们雇用真人手动解决挑战并返回解决方案,使用服务的 API 执行。

方法#5:抓取 Google 缓存
当 Google 抓取网站进行索引时,它会缓存其页面。因此,我们可以浏览目标网站并直接向 Google 请求这些页面。但是,只有当您所追求的数据不定期更改时,此方法才可行。此外,由于并非所有网站都允许缓存,因此这可能不起作用。

要抓取网站的缓存数据,请向其 Google 缓存网址发送请求。通常遵循以下格式:

<https://webcache.googleusercontent.com/search?q=cache:{website_url}>

后续更新。。。。。

### 编译 PX4 SITL 出现 JSON 解码错误的原因分析 当执行 `make px4_sitl_default` 时遇到 `json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)` 错误,这通常意味着存在文件读取或解析失败的情况。具体来说,在尝试加载JSON配置文件时遇到了无法识别的内容。 #### 可能原因: - 子模块未正确初始化或更新[^1]。 - 环境变量设置不当导致路径问题。 - 某些依赖项缺失或版本不兼容。 - 文件权限不足影响正常访问所需资源。 针对上述情况,建议采取以下措施来解决问题: #### 方案一:验证并修复Git子模块状态 确保所有必要的源代码组件都已下载完毕且处于最新状态。可以通过运行下面这条指令完成操作: ```bash git submodule update --recursive ``` 如果此过程顺利完成而没有任何提示信息,则表明子模块已经就绪可以继续下一步骤;反之则需排查网络连接状况以及仓库地址是否有效等问题。 #### 方案:清除构建缓存重新编译 有时残留的目标文件可能会干扰新一次的构建流程,因此有必要先清理工作区再重试: ```bash make clean ``` 之后再次尝试启动SITL仿真器: ```bash make px4_sitl_default ``` #### 方案三:调整Python包管理工具中的Empy库版本 对于某些特定场景下可能出现的Gazebo集成问题,降低empy库至指定版本可能有助于绕过潜在冲突: ```bash pip3 uninstall empy pip3 install empy==3.3.4 ``` 通过以上三种方式之一或多者组合应用,应当能够有效地定位并消除原始报错现象。值得注意的是,实际处理过程中还需密切留意终端输出日志的具体描述以便及时调整治疗策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值