🎯 Trình duyệt đám mây tùy chỉnh, chống phát hiện được hỗ trợ bởi Chromium tự phát triển, thiết kế dành cho trình thu thập dữ liệu webtác nhân AI. 👉Dùng thử ngay
Quay lại blog

Cách Giải Quyết Cloudflare Bằng Python (Playwright + Scrapeless)

Michael Lee
Michael Lee

Expert Network Defense Engineer

09-Jul-2026

Tóm tắt:

  • Cloudflare đánh giá trình duyệt, không phải người truy cập. Nó đọc sự nhất quán của dấu vân tay, tín hiệu hành vi, và địa chỉ IP thoát, sau đó thiết lập cookie cf_clearance cho một trình duyệt mà nó tin tưởng — vì vậy việc giải quyết trong Python có nghĩa là trở thành một trình duyệt đáng tin cậy, chứ không phải trả lời một câu đố.
  • Một trình duyệt Python cục bộ không đạt điểm trên ba tiêu chí: dấu hiệu từ navigator.webdriver, dấu vân tay mặc định của headless, và địa chỉ IP thoát từ trung tâm dữ liệu. Sửa chữa cả ba bằng tay là một công việc bảo trì không ngừng.
  • Trình duyệt Scrapeless Scraping vượt qua thách thức trong quá trình hiển thị — Chromium tự phát triển thực sự, một dấu vân tay nhất quán theo phiên, và khả năng thoát ở 195+ quốc gia, kết nối qua một điểm cuối WebSocket.
  • Python của bạn vẫn là Playwright tiêu chuẩn. Kết nối với chromium.connect_over_cdp(), đợi nội dung sau thử thách, và đọc trang — sự thay đổi duy nhất là URL kết nối.
  • Đã xác minh trực tiếp: một phiên Playwright Python qua trình duyệt đám mây đã vượt qua trang thách thức của Cloudflare, đọc thông báo thành công Bạn đã vượt qua thử thách của Cloudflare! :D, và nhận cookie cf_clearance.
  • Miễn phí để bắt đầu. Tài khoản Scrapeless mới bao gồm miễn phí thời gian chạy Trình duyệt Scraping — đăng ký tại app.scrapeless.com.

Giới thiệu: giải quyết Cloudflare trong Python là vấn đề của trình duyệt

Một thử thách Cloudflare không phải là một CAPTCHA hình ảnh mà bạn giải mã. Nó chạy trong nền và chấm điểm trình duyệt đã tải trang — bất kể dấu vân tay có nhất quán bên trong không, tín hiệu tương tác có trông giống con người không, và địa chỉ IP thoát có danh tiếng sạch hay không. Khi điểm số vượt qua, Cloudflare thiết lập cookie cf_clearance và trang thực sẽ tải. Khi không vượt qua, bạn sẽ nhận được một trang ngắt nội dung thay vì nội dung thực.

Điều đó đã định hình lại nhiệm vụ Python. Không có câu trả lời để nộp — công việc là trình bày một trình duyệt mà Cloudflare đã tin tưởng. Một instance Chromium headless cục bộ điều khiển từ Python không thể làm được điều đó: nó thông báo về việc tự động hóa thông qua thuộc tính navigator.webdriver, sử dụng phông chữ và hành vi canvas mặc định của headless, và thoát từ một địa chỉ IP mà các dịch vụ danh tiếng đã biết. Bạn có thể sửa lỗi từng lỗi trong số đó và sau đó tiếp tục sửa chữa khi Chromium và các bộ phát hiện rời đi. Hướng dẫn này đi theo con đường ngắn hơn: điều khiển Trình duyệt Scrapeless Scraping từ Playwright tiêu chuẩn cho Python, vì vậy dấu vân tay, hành vi và địa chỉ IP thoát được xử lý phía máy chủ và thách thức sẽ được giải quyết trong quá trình hiển thị bình thường.


Những gì Cloudflare thực sự kiểm tra

Tài liệu của Cloudflare mô tả một bước xác minh diễn ra mà không làm gián đoạn người truy cập. Thực tế nó chấm điểm ba điều và cấp cookie cf_clearance — một cookie HTTP tiêu chuẩn — khi chúng vượt qua:

Những gì Cloudflare đọc Tại sao một trình duyệt Python cục bộ không đạt điểm
Sự nhất quán của dấu vân tay các mặc định headless và cờ webdriver mâu thuẫn với một Chrome thực sự
Tín hiệu hành vi thời gian kịch bản mà không có bề mặt trình duyệt nhất quán
Danh tiếng địa chỉ IP thoát địa chỉ IP từ trung tâm dữ liệu điểm thấp hơn so với từ khu dân cư

Một trình duyệt đáng tin cậy, nhất quán quan trọng hơn bất kỳ cách lách nào — đó là lý do phía máy chủ được di chuyển cả ba điều này bền bỉ hơn so với việc chồng chất các bản vá che giấu.

Tại sao chọn Trình duyệt Scrapeless Scraping

Trình duyệt Scrapeless Scraping là một trình duyệt đám mây tùy chỉnh, chống phát hiện được thiết kế cho các crawler web và tác nhân AI. Đối với Cloudflare, nó mang lại:

  • Chromium tự phát triển thực sự chạy JavaScript thử thách giống như Chrome, vì vậy nó giải quyết thay vì bị kẹt.
  • Một dấu vân tay nhất quán theo phiên — không có dấu hiệu từ navigator.webdriver, không có các mặc định headless bị rò rỉ.
  • Khả năng thoát khu dân cư ở 195+ quốc gia — Cloudflare chấm điểm địa chỉ IP thoát, và khu vực dân cư có danh tiếng sạch trong khi địa chỉ IP từ trung tâm dữ liệu thì không.
  • Tính bền vững phiên đến một cấp phép cf_clearance có thể được sử dụng lại trong các yêu cầu trong cùng một phiên.
  • Một bề mặt kết nối — mỗi tùy chọn là một tham số truy vấn trên cùng một điểm cuối WebSocket.

Nhận khóa API của bạn trong kế hoạch miễn phí tại app.scrapeless.com.


Yêu cầu tiên quyết


Cài Đặt

Bạn kết nối với một trình duyệt từ xa, vì vậy bạn không cần phải playwright install một Chromium cục bộ cho quy trình này.

bash Copy
pip install playwright
export SCRAPELESS_API_KEY=your_api_token_here   # mã miễn phí tại https://app.scrapeless.com

Kết Nối và Xóa Thử Thách

Xây dựng điểm cuối, kết nối bằng chromium.connect_over_cdp(), điều hướng, và chờ nội dung sau thử thách được gắn. Thử thách được giải quyết trong quá trình render — không có cuộc gọi giải quyết riêng biệt nào.

python Copy
import json
import os
from urllib.parse import urlencode
from playwright.sync_api import sync_playwright

params = {"token": os.environ["SCRAPELESS_API_KEY"], "sessionTTL": "180", "proxyCountry": "US"}
endpoint = f"wss://browser.scrapeless.com/api/v2/browser?{urlencode(params)}"
TARGET = "https://www.scrapingcourse.com/cloudflare-challenge"

with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp(endpoint)
    page = browser.new_page()
    page.goto(TARGET, wait_until="domcontentloaded", timeout=90000)

    # Trình duyệt đám mây xóa Cloudflare trong quá trình render; chờ nội dung thực sự.
    page.wait_for_selector("#challenge-title", timeout=90000)
    print("đã xóa:", page.inner_text("#challenge-title"))

    cookies = page.context.cookies()
    print("cf_clearance:", any(c["name"] == "cf_clearance" for c in cookies))
    browser.close()

Một lần chạy trực tiếp của tập lệnh này in ra đã xóa: Bạn đã vượt qua thử thách Cloudflare! :Dcf_clearance: True — tiêu chuẩn Playwright cho Python, lấy từ trình duyệt đám mây.

Lấy mã API của bạn trên kế hoạch miễn phí: app.scrapeless.com

Xác Nhận việc vượt qua và mang theo clearance

Tín hiệu đáng tin cậy là nội dung thực sự được gắn — một khi phần tử sau thử thách có mặt, trang đã được xóa. Cloudflare cũng thiết lập một cookie cf_clearance trên phiên đã vượt qua, mà bạn có thể đọc để mang theo clearance đến các yêu cầu khác trong cùng một phiên.

python Copy
cookies = page.context.cookies()
clearance = next((c for c in cookies if c["name"] == "cf_clearance"), None)
print("cf_clearance hiện diện:", clearance is not None)
if clearance:
    print("miền:", clearance["domain"])

Ghim khu vực để có sự xóa đáng tin cậy

Cloudflare đánh giá IP thoát, vì vậy hãy ghim proxyCountry vào một khu vực dân cư. Chuyển thành bất kỳ mã ISO quốc gia nào.

python Copy
params = {
    "token": os.environ["SCRAPELESS_API_KEY"],
    "sessionTTL": "180",
    "proxyCountry": "US",   # hoặc "DE", "JP", "ANY"
}

Nơi mà trình duyệt Python cục bộ dừng lại

Một trình duyệt Playwright local hoặc một trình gỡ lỗi dựa trên yêu cầu là đủ tốt cho đến khi Cloudflare bắt đầu đánh giá trình duyệt. Sau đó, dấu vân tay headless, cờ webdriver, và IP datacenter đều thất bại trong một kiểm tra khác nhau, và màn hình chờ thay thế nội dung. Đó là những vấn đề về dấu vân tay, hành vi và IP — ba vấn đề mà trình duyệt đám mây xử lý phía máy chủ. Kết nối với Scrapeless sẽ chuyển họ đến một phiên đã được quản lý trong khi mã Playwright của bạn vẫn ở tiêu chuẩn.


Những gì bạn nhận được

Phiên hoạt động giống như bất kỳ phiên Playwright cho Python nào — page.goto, page.wait_for_selector, page.content(), và cookies đều hoạt động. Một vài quan sát chân thực từ việc vượt qua Cloudflare qua trình duyệt đám mây:

  • navigator.webdriver không có, vì vậy kiểm tra đầu tiên mà Cloudflare thực hiện giống như một Chrome thực sự.
  • IP thoát khớp với proxyCountry — một khu vực dân cư xóa đáng tin cậy hơn nhiều so với một IP datacenter.
  • cf_clearance có mặt sau khi vượt qua — tái sử dụng cùng một phiên để mang theo quyền này qua các yêu cầu tiếp theo.
  • Khởi động phiên cho các trang cứng đầu — tải trang chủ của trang web trước trong cùng một phiên trước khi vào trang được bảo vệ, để bề mặt hành vi trông giống như một chuyến thăm bình thường.

Kết Luận: xóa Cloudflare, giữ Python của bạn

Giải quyết Cloudflare trong Python không phải là về việc giải mã một thử thách - mà là về việc trình bày một trình duyệt mà Cloudflare tin tưởng. Trình duyệt Scrapeless Scraping xử lý ba yếu tố mà nó chấm điểm (dấu vân tay, hành vi, IP xuất phát) ở phía máy chủ, vì vậy mã Playwright cho Python của bạn chỉ cần thay đổi URL kết nối. Ghim proxyCountry vào một khu vực dân cư, chờ nội dung sau thử thách, và đọc cf_clearance để xác nhận đã qua. Để chạy cùng một trình duyệt đám mây với thư viện Python khác, xem hướng dẫn Scrapling production-scraper, và so sánh các gói trên trang giá Scrapeless.


Sẵn sàng xây dựng quy trình làm sạch Cloudflare chưa?

Tham gia cộng đồng của chúng tôi để nhận gói miễn phí và kết nối với các nhà phát triển đang thu thập dữ liệu từ các trang web được bảo vệ bởi Cloudflare: Discord · Telegram.

Đăng ký tại app.scrapeless.com để nhận thời gian thực thi Trình duyệt Scraping miễn phí và chỉ định Playwright cho Python vào trình duyệt đám mây mà làm sạch Cloudflare trong quá trình render.


Câu hỏi thường gặp

Q: Tôi có cần một dịch vụ giải CAPTCHAvì tôi không?
Không trên trình duyệt đã qua. Cloudflare chủ yếu chấm điểm dấu vân tay, hành vi và IP ở nền, và cấp một cookie cf_clearance. Trình duyệt đám mây được xây dựng để qua được chấm điểm đó trong quá trình render bình thường, vì vậy không có bước giải đố tách biệt nào cần thực hiện.

Q: Tôi có cần một proxy không?
Không. Đầu ra dân cư đã được tích hợp - đặt proxyCountry vào một khu vực hoặc BẤT KỲ. Cloudflare chấm điểm IP xuất phát, vì vậy một khu vực dân cư làm sạch một cách đáng tin cậy hơn so với địa chỉ trung tâm dữ liệu.

Q: Thử thách vẫn hiển thị trên một số trang - điều gì giúp?
Ghim proxyCountry vào một khu vực dân cư và ấm lên phiên bằng cách tải trang chính của trang web trước trong cùng một phiên trước trang được bảo vệ, vì vậy bề mặt hành vi đọc như một chuyến thăm bình thường.

Q: Mã Playwright hiện có của tôi có tương thích không?
Có. Trình duyệt Scraping nói tiếng CDP, vì vậy chromium.connect_over_cdp() hoạt động không thay đổi - bạn chỉ thay đổi URL kết nối.

Q: Làm sạch Cloudflare có hợp pháp không?
Truy cập dữ liệu công khai thường được phép, nhưng các quy định khác nhau tùy theo khu vực và trang web. Xem xét các điều khoản dịch vụ của mục tiêu, tôn trọng chỉ thị của robot và tham khảo ý kiến ​​luật sư về bất kỳ điều gì nhạy cảm.

Tại Scrapless, chúng tôi chỉ truy cập dữ liệu có sẵn công khai trong khi tuân thủ nghiêm ngặt các luật, quy định và chính sách bảo mật trang web hiện hành. Nội dung trong blog này chỉ nhằm mục đích trình diễn và không liên quan đến bất kỳ hoạt động bất hợp pháp hoặc vi phạm nào. Chúng tôi không đảm bảo và từ chối mọi trách nhiệm đối với việc sử dụng thông tin từ blog này hoặc các liên kết của bên thứ ba. Trước khi tham gia vào bất kỳ hoạt động cạo nào, hãy tham khảo ý kiến ​​cố vấn pháp lý của bạn và xem xét các điều khoản dịch vụ của trang web mục tiêu hoặc có được các quyền cần thiết.

Bài viết phổ biến nhất

Danh mục