🎯 一款可定制、具备反检测功能的云浏览器,由自主研发的 Chromium驱动,专为网页爬虫AI 代理设计。👉立即试用
返回博客

如何使用 Playwright Stealth 进行抓取

Michael Lee
Michael Lee

Expert Network Defense Engineer

06-Nov-2025

基础设施

  • 始终与最新的反机器人绕过技术保持同步
  • 专注于您的业务逻辑,而不是基础设施

实时监控和调试

  • 实时会话功能,观察您的爬虫执行情况
  • 会话回放用于调试失败的请求
  • 全面记录和分析

如何使用 Scrapeless 爬虫浏览器与 Playwright

将 Scrapeless 集成到您现有的 Playwright 代码中非常简单。只需几个步骤,您就能绕过任何反机器人措施,访问所需的数据。

第一步:注册并获取 API 密钥

  1. 访问 Scrapeless Dashboard
  2. 注册一个免费账户
  3. 导航到设置选项卡
  4. 复制您的 API 密钥

第二步:使用 CDP 连接替换浏览器启动

与其启动本地浏览器,不如使用 CDP 协议连接到 Scrapeless 的云浏览器:

之前(标准 Playwright):

python Copy
browser = await p.chromium.launch(headless=True)

之后(Scrapeless 爬虫浏览器):

python Copy
from playwright.async_api import async_playwright

# 您的 Scrapeless API 密钥
API_KEY = "your_api_key_here"

# 构建 Scrapeless 连接 URL
connection_url = f"wss://browser.scrapeless.com/browser?token={API_KEY}&session_ttl=180&proxy_country=ANY"

async with async_playwright() as p:
    # 连接到 Scrapeless 云浏览器
    browser = await p.chromium.connect_over_cdp(connection_url)
    page = await browser.newPage()
    # 您的爬虫逻辑在这里

第三步:测试受保护的网站

让我们尝试抓取同一个受 Cloudflare 保护的页面,该页面阻止了 Playwright Stealth:

python Copy
from playwright.async_api import async_playwright
import asyncio

async def scraper():
    # 您的 Scrapeless API 密钥
    API_KEY = "your_api_key_here"
    
    # Scrapeless 连接 URL
    connection_url = f"wss://browser.scrapeless.com/browser?token={API_KEY}&session_ttl=180&proxy_country=ANY"
    
    async with async_playwright() as p:
        # 连接到 Scrapeless 云浏览器
        browser = await p.chromium.connect_over_cdp(connection_url)
        page = await browser.new_page()
        
        # 访问受 Cloudflare 保护的网站
        await page.goto("https://www.scrapingcourse.com/antibot-challenge")
        
        # 提取内容
        content = await page.content()
        print(content)
        
        # 截图
        await page.screenshot(path="success_screenshot.png")
        
        await browser.close()

# 运行爬虫
if __name__ == "__main__":
    asyncio.run(scraper())

结果:

html Copy
<html lang="en">
<head>
    <title>Antibot Challenge - ScrapingCourse.com</title>
</head>
<body>
    <h2>
        您已成功绕过反机器人挑战!:D
    </h2>
    <!-- 内容成功提取 -->
</body>
</html>

恭喜! 🎉 您已成功绕过 Cloudflare 保护,使用 Scrapeless 爬虫浏览器。


高级配置选项

Scrapeless 爬虫浏览器提供广泛的配置选项以支持高级使用案例:

自定义代理设置

python Copy
# 使用特定国家的代理
connection_url = f"wss://browser.scrapeless.com/browser?token={API_KEY}&proxy_country=US&session_ttl=300"

# 使用您自己的代理
connection_url = f"wss://browser.scrapeless.com/browser?token={API_KEY}&proxy_url=http://your-proxy.com:8080"

会话管理

python Copy
# 创建持久会话
connection_url = f"wss://browser.scrapeless.com/browser?token={API_KEY}&session_name=my_session&session_ttl=600"

启用会话录制以便调试

python Copy
# 录制会话以便调试
connection_url = f"wss://browser.scrapeless.com/browser?token={API_KEY}&session_recording=true"

自定义指纹

python Copy
# 使用自定义浏览器指纹
connection_url = f"wss://browser.scrapeless.com/browser?token={API_KEY}&fingerprint=custom"

有关更多配置选项,请访问 Scrapeless Documentation


对比:Playwright Stealth vs Scrapeless 爬虫浏览器

特性 Playwright Stealth Scrapeless 爬虫浏览器
设置复杂性 中等(需要配置) 简单(一行更改)
反机器人绕过 基础(在高级系统上失败) 高级(99.9%成功率)
Cloudflare 绕过 ❌ 失败 ✅ 成功
验证码解决 ❌ 需要手动 ✅ 自动
维护 ❌ 需要不断更新 ✅ 零维护
IP 轮换 ❌ 需要自己实现 ✅ 内置(70M+ IPs)
全球代理 ❌ 需要外部服务支持 ✅ 覆盖195个国家
性能 本地(取决于硬件) ⚡ 10倍更快(基于云)
调试工具 ❌ 有限 ✅ 实时会话 + 回放
可扩展性 ❌ 受限于本地资源 ✅ 无限并发会话
成本 免费(但基础设施成本高) 按需付费(便宜40-80%)
支持 仅社区支持 ✅ 专业支持

实际应用场景

Scrapeless Scraping Browser 在 Playwright Stealth 失败的场景中表现卓越:

1. 电子商务价格监控

  • 无阻力抓取亚马逊、沃尔玛、eBay
  • 实时跟踪竞争对手价格
  • 处理动态定价和库存更新

2. 社交媒体数据收集

  • 提取 Instagram、LinkedIn、Twitter 数据
  • 绕过登录墙和速率限制
  • 保持持久会话

3. 旅游和酒店情报

  • 监控机票价格、酒店房价
  • 访问地理限制内容
  • 处理重 JavaScript 的预订网站

4. 市场调研和潜在客户生成

  • 抓取 B2B 目录和数据库
  • 大规模提取联系信息
  • 自动遵守速率限制

5. SEO 和竞争对手分析

  • 全球跟踪关键字排名
  • 分析竞争对手策略
  • 实时监控 SERP 变化

定价与成本优化

Scrapeless Scraping Browser 提供灵活的定价:

  • 免费层:非常适合测试和小型项目
  • 按需付费:仅为实际使用量付费
  • 企业计划:定制解决方案并提供 SLA 保证

成本对比:

  • 本地运行 Playwright:$200-500/月(服务器成本 + 维护)
  • 使用 Scrapeless:$50-150/月(成本减少 40-80%)

此外,您还消除了:

  • ❌ 服务器维护成本
  • ❌ 代理管理成本
  • ❌ CAPTCHA 解决服务成本
  • ❌ 开发人员用于调试的时间

最佳实践

1. 尊重速率限制

即使使用 Scrapeless 的强大功能,也要始终尊重目标网站的速率限制:

python Copy
import asyncio

async def scrape_with_delay(urls):
    for url in urls:
        await page.goto(url)
        # 提取数据
        await asyncio.sleep(2)  # 请求之间延迟2秒

2. 使用会话持久性

对于需要登录的网站:

python Copy
# 创建持久会话
connection_url = f"wss://browser.scrapeless.com/browser?token={API_KEY}&session_name=login_session&session_ttl=3600"

3. 启用会话录制以便调试

在开发时:

python Copy
# 启用录制
connection_url = f"wss://browser.scrapeless.com/browser?token={API_KEY}&session_recording=true"

然后在 Scrapeless 控制面板查看回放以调试失败。

4. 优化代理选择

根据您的目标选择代理:

python Copy
# 仅美国内容
connection_url = f"wss://browser.scrapeless.com/browser?token={API_KEY}&proxy_country=US"

# 全球抓取
connection_url = f"wss://browser.scrapeless.com/browser?token={API_KEY}&proxy_country=ANY"

结论

虽然 Playwright 是一个流行的无头浏览工具,但其默认属性使其容易被目标网站检测。Playwright Stealth 有助于掩盖一些漏洞,但在面对 Cloudflare、DataDome 和 AWS WAF 等高级反机器人系统时显得力不从心。

为了可靠且大规模地提取数据,我们强烈建议使用像 Scrapeless Scraping Browser 这样的企业解决方案。

为什么选择 Scrapeless?

零代码变更:在您现有的 Playwright 脚本中只需替换一行
99.9% 成功率:绕过任何反机器人系统,包括 Cloudflare
自动 CAPTCHA 解决:无需人工干预
全球代理网络:在 195 个国家/地区拥有 7000 万+ 住宅 IP
零维护:专注于业务逻辑,而非基础设施
具有成本效益:比 DIY 解决方案便宜 40-80%
专业支持:在您需要时得到帮助

免费试用 Scrapeless Scraping Browser - 无需信用卡!


常见问题

1. 为什么使用 Playwright Stealth?

Playwright Stealth 有助于掩盖 Playwright 的自动化特性,以避免基础的机器人检测。这是处理简单抓取任务的良好起点,但在面对高级反机器人系统时存在局限性。

2. Playwright Stealth 是不可检测的吗?

不。虽然 Playwright Stealth 能够绕过基础的机器人检测,但在面对 Cloudflare、DataDome 和 AWS WAF 等高级反机器人系统时,它会失效。对于生产用例,我们建议使用 Scrapeless Scraping Browser。

3. 在 Playwright 中避免检测的最佳方法是什么?

最可靠的方法是使用像 Scrapeless Scraping Browser 这样专业的云浏览器服务,它提供:

  • 企业级反检测技术
  • 自动 CAPTCHA 解决
  • 内置代理旋转
  • 零维护
  • 99.9% 的正常运行时间保证

4. 我可以在现有 Playwright 代码中使用 Scrapeless 吗?

可以!Scrapeless 对您现有代码的更改要求极少。只需将浏览器启动替换为与 Scrapeless 云浏览器的 CDP 连接:

python Copy
# 之前
浏览器 = await p.chromium.launch(headless=True)

# 之后
浏览器 = await p.chromium.connect_over_cdp(connection_url)

### 5. Scrapeless 的费用是多少?

Scrapeless 提供灵活的定价,包括一个免费的测试层。按需付费方案每月仅需几美元,比运行自己的基础设施便宜 40-80%。[查看当前定价](https://www.scrapeless.com/pricing)。

### 6. Scrapeless 是否支持除了 Python 以外的其他语言?

是的!Scrapeless 支持任何支持 Puppeteer、Playwright 或 CDP 协议的语言,包括:
- Python
- Node.js
- Java

### 7. Scrapeless 能处理需要登录的网站吗?

绝对可以!Scrapeless 支持持久会话,允许您在多个请求之间维护登录状态。使用 `session_name` 参数创建持久会话。

---

**准备好将您的网络爬虫提升到一个新水平了吗?**

[开始您的免费试用](https://www.scrapeless.com/) | [查看文档](https://docs.scrapeless.com/) | [加入 Discord 社区](https://discord.gg/Np4CAHxB9a)

---

*免责声明:本指南仅用于教育目的。始终尊重网站的服务条款和 robots.txt 文件。网络爬虫应仅在获得适当授权的情况下进行,且仅限于公开可用的数据。*

在Scrapeless,我们仅访问公开可用的数据,并严格遵循适用的法律、法规和网站隐私政策。本博客中的内容仅供演示之用,不涉及任何非法或侵权活动。我们对使用本博客或第三方链接中的信息不做任何保证,并免除所有责任。在进行任何抓取活动之前,请咨询您的法律顾问,并审查目标网站的服务条款或获取必要的许可。

最受欢迎的文章

目录