讲师中心 微信公众号
AI工具推荐 视频效率加速

如何绕过 Zoopla 网站的 Cloudflare 防护进行合法数据采集

梦枫同学_2964

梦枫同学_2964

发布时间:2026-01-19 14:51:13

|

750人浏览过

|

来源于php中文网

原创

如何绕过 Zoopla 网站的 Cloudflare 防护进行合法数据采集

zoopla 使用 cloudflare 严格反爬,直接用 requests 发起请求会返回 403 错误;需结合 selenium 模拟真实浏览器行为,并隐藏自动化特征,才能成功获取页面内容。

Zoopla(zoopla.co.uk)作为英国主流房产平台,对爬虫防护极为严格——其背后部署了 Cloudflare 的 WAF(Web Application Firewall),不仅校验 User-Agent 和请求头,还会检测浏览器指纹、navigator.webdriver 属性、自动化扩展痕迹等。因此,仅靠 requests + 自定义 Headers(如常规 UA)几乎必然触发 403 Forbidden 响应,正如示例代码中所遇问题。

✅ 正确做法是使用 Selenium 配合无头 Chrome 的深度伪装策略,关键在于消除自动化“蛛丝马迹”。以下为经过验证的完整解决方案:

前端美化
前端美化

使用此技能可创建独具特色、具备生产级质量的前端界面,设计品质高。当用户要求构建网页组件、页面、产物、海报或应用程序时(例如:网站、落地页、仪表盘、React 组件、HTML/CSS 布局,或对任意 Web UI 进行样式优化与视觉美化),请启用该能力。输出需为富有创意、精雕细琢的代码与 UI 设计,避免千篇一律的 AI 风格。

下载
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
import time

# 配置 Chrome 选项(推荐使用最新 chromedriver)
options = Options()
options.add_argument("--no-sandbox")
options.add_argument("--disable-dev-shm-usage")
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
options.add_argument("--headless")  # 可选:无界面运行

# 启动驱动(请确保 chromedriver 在 PATH 中,或指定 service=Service("path/to/chromedriver"))
driver = webdriver.Chrome(options=options)

# 关键一步:覆盖 navigator.webdriver 属性(在页面加载前执行)
driver.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument', {
    'source': '''
        Object.defineProperty(navigator, 'webdriver', {
            get: () => undefined
        });
    '''
})

try:
    url = "https://www.zoopla.co.uk/to-rent/property/west-midlands/handsworth/sandwell-road/b21-8nl/?q=B21%208NL&radius=1"
    driver.get(url)

    # 等待页面加载完成(建议用 WebDriverWait 替代固定 sleep,此处简化示例)
    time.sleep(3)

    if "403" in driver.title or "Cloudflare" in driver.page_source:
        print("⚠️  仍被拦截:可能需更换 IP、添加更多指纹伪装或启用真实浏览器窗口调试")
    else:
        print("✅ 页面加载成功,状态码:", driver.execute_script("return document.readyState"))
        # 示例:提取标题
        title = driver.title
        print("页面标题:", title)

finally:
    driver.quit()

? 重要注意事项

  • 遵守 robots.txt 与服务条款:Zoopla 明确禁止未经许可的自动化抓取(参见 https://www.zoopla.co.uk/robots.txt),本方案仅限学习、个人研究或已获授权场景使用;商用前务必联系官方获取 API 接入许可。
  • IP 与频率限制:即使绕过前端检测,高频请求仍可能触发 IP 封禁。务必加入 time.sleep(2–5) 间隔,避免连续请求;生产环境建议搭配代理池与随机 UA 轮换。
  • 维护成本高:Cloudflare 规则持续升级,此类方案需定期更新(如 CDP 注入逻辑、等待策略、元素定位方式)。长期项目强烈推荐使用 Zoopla 官方 API(如有)或合规第三方数据服务。
  • 替代方案提醒:若仅需基础房产信息,可考虑 UK 政府开放数据(如 Land Registry Price Paid Data)或合法聚合平台(e.g., Rightmove API via partner program)。

总之,技术上可行 ≠ 法律与伦理上合理。尊重网站规则、控制请求节奏、优先选用官方渠道,才是可持续数据采集的核心原则。

热门AI工具

更多
Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

2446

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

4279

2023.11.06

Chrome开启无痕模式
Chrome开启无痕模式

本专题整合了Chrome无痕模式开启相关内容,阅读专题下面的文章了解更多详细教程。

3067

2026.03.24

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

5210

2024.08.16

PHP 命令行脚本与自动化任务开发
PHP 命令行脚本与自动化任务开发

本专题系统讲解 PHP 在命令行环境(CLI)下的开发与应用,内容涵盖 PHP CLI 基础、参数解析、文件与目录操作、日志输出、异常处理,以及与 Linux 定时任务(Cron)的结合使用。通过实战示例,帮助开发者掌握使用 PHP 构建 自动化脚本、批处理工具与后台任务程序 的能力。

426

2025.12.13

Figma AI自动化智能数据填充与交互生成实战
Figma AI自动化智能数据填充与交互生成实战

告别机械重复,详细演示如何用 AI 填充业务真实数据,并自动为页面添加交互连线,将静态设计稿快速转变为动态原型。

245

2026.05.13

NumPy常见函数使用方法
NumPy常见函数使用方法

本专题整理 NumPy 常见函数使用方法相关教程,覆盖函数大全、参数用法、数组运算、统计聚合、排序处理、where 条件筛选、linspace 创建数列等常用场景,帮助读者快速掌握 NumPy 函数调用思路和实际数据处理技巧。

0

2026.09.22

NumPy性能优化版本更新与常见报错排查
NumPy性能优化版本更新与常见报错排查

本专题整理 NumPy 性能优化、版本更新与常见报错排查相关教程,覆盖向量化计算、广播性能、内存布局、NumPy 2.0 升级、版本兼容冲突、安装导入报错、dtype 溢出、矩阵运算异常和 broadcasting 报错修复,帮助读者系统掌握 NumPy 性能调优与问题定位方法。

20

2026.09.22

Vibeknow在线使用入口合集
Vibeknow在线使用入口合集

本专题汇总了Vibeknow在线创作视频的官方入口及网页版使用教程,涵盖PPT、PDF、Word等文档一键转讲解视频的核心操作,并整理了免费版水印规则与手机端浏览器访问指南,助你快速将知识内容视频化。

20

2026.09.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn