Cách chạy Crawl4AI trên trình duyệt không bị phát hiện dấu vân tay
Advanced Data Extraction Specialist
Tóm tắt ngắn:
- Crawl4AI đã hỗ trợ giao thức Chrome DevTools, vì vậy chỉ cần thêm hai dòng mã để kết nối với Scrapeless. Đặt
browser_mode="cdp"vàcdp_urlthành điểm cuối WebSocket của Scrapeless, và mỗi lần gọiarun()sẽ chạy trên một trình duyệt đám mây thay vì Chromium cục bộ. - Một trình duyệt Crawl4AI cục bộ rò rỉ thông tin tự động hóa ở ba trục: cờ
navigator.webdriver, dấu vân tay mặc định không hiển thị giao diện, và địa chỉ IP xuất ra của bạn. Hệ thống chống bot điểm số cả ba lại với nhau. - Trình duyệt Scraping của Scrapeless trả lời cả ba vấn đề ở phía máy chủ — Chromium tự phát triển thật, dấu vân tay nhất quán cho mỗi phiên không có dấu hiệu
webdriver, và xuất ra từ 195+ quốc gia. - Logic thu thập dữ liệu của bạn không thay đổi. Các chiến lược trích xuất,
CrawlerRunConfig, phân đoạn, và đầu ra markdown đều hoạt động chính xác như trên máy cục bộ; chỉ nguồn trình duyệt là thay đổi. - Đã được xác thực trực tiếp: một lần thu thập dữ liệu của Crawl4AI qua trình duyệt đám mây Scrapeless trả về HTTP 200 và hơn 11,000 ký tự markdown sạch sẽ, và một kiểm tra riêng đọc
navigator.webdriverlàfalsetrên một địa chỉ IP dân cư tại Hoa Kỳ. - Miễn phí để bắt đầu. Tài khoản Scrapeless mới bao gồm thời gian chạy Trình duyệt Scraping miễn phí — đăng ký tại app.scrapeless.com.
Giới thiệu: cung cấp cho Crawl4AI một trình duyệt đọc sạch
Crawl4AI điều khiển một Chromium thật thông qua Playwright để biến các trang thành markdown phù hợp với LLM. Chạy nó trên một trình duyệt trên máy của bạn và mỗi lần thu thập thừa hưởng các tín hiệu làm cho tự động hóa trở nên rõ ràng: nó tự công bố qua thuộc tính navigator.webdriver, gửi phông chữ và hành vi canvas mặc định là không hiển thị, và xuất ra từ một IP mà các dịch vụ uy tín đã nhận diện.
Bạn có thể vá từng vấn đề đó ở cục bộ, sau đó tiếp tục vá chúng khi Chromium và các bộ phát hiện thay đổi. Có một con đường ngắn hơn. Crawl4AI có thể kết nối với bất kỳ trình duyệt nào hỗ trợ giao thức Chrome DevTools thông qua cài đặt cdp_url, và Trình duyệt Scraping của Scrapeless là một điểm cuối CDP được truy cập qua một URL WebSocket. Đưa Crawl4AI tới đó và dấu vân tay, bề mặt hành vi và địa chỉ IP xuất ra sẽ chuyển sang máy chủ — mã thu thập dữ liệu giữ nguyên ở vị trí của nó.
Những gì bạn có thể làm với nó
- Thu thập các trang được bảo vệ bởi chống bot — trình duyệt đám mây giải quyết các thách thức trong quá trình render, vì vậy
arun()trả về nội dung thay vì một trang kết nối. - Địa phương hóa lần thu thập — cố định
proxyCountryđể một trang hiển thị giống như một khách truy cập trong thị trường đó thấy. - Gửi một dấu vân tay nhất quán — chuyển một đối tượng
fingerprintđể tác nhân người dùng, nền tảng, màn hình và múi giờ duy trì nhất quán qua các lần chạy. - Tái sử dụng trạng thái đăng nhập — mang theo một
profileIdđể cookie và bộ nhớ cục bộ duy trì giữa các lần thu thập. - Mở rộng ra ngoài máy tính xách tay của bạn — các phiên chạy trong đám mây, vì vậy một lô URL không bị ràng buộc vào một Chromium cục bộ.
- Giữ cho việc trích xuất không thay đổi — các chiến lược CSS/XPath, trích xuất LLM và tạo markdown hoạt động giống hệt nhau.
Tại sao chọn Trình duyệt Scraping của Scrapeless
Trình duyệt Scraping của Scrapeless là một trình duyệt đám mây có thể tùy chỉnh, chống phát hiện, được thiết kế cho các công cụ thu thập dữ liệu web và các đại lý AI. Đối với Crawl4AI cụ thể, nó mang lại:
- Chromium thật tự phát triển chạy JavaScript trang giống như Chrome, vì vậy nội dung được render ở phía khách sẽ được đính kèm trước khi
arun()đọc nó. - Dấu vân tay nhất quán cho mỗi phiên — không có dấu hiệu
navigator.webdriver, không có mặc định không hiển thị nào bị rò rỉ. - Xuất ra dân cư ở 195+ quốc gia, được chọn cho mỗi phiên với một giá trị
proxyCountry. - Duy trì phiên qua
profileId, vì vậy một lần thu thập dữ liệu đã xác thực giữ nguyên trạng thái của 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 mã API của bạn trên kế hoạch miễn phí tại app.scrapeless.com.
Điều kiện tiên quyết
- Python 3.10 hoặc mới hơn với
asyncio - Cài đặt Crawl4AI (
pip install crawl4ai) - Tài khoản Scrapeless và mã token API — đăng ký tại app.scrapeless.com
Các ví dụ dưới đây đã được xác thực với một phiên Scrapeless trực tiếp. Các chi tiết kết nối đầy đủ nằm trong tài liệu tích hợp Crawl4AI.
Cài đặt
Crawl4AI mang lại hỗ trợ Playwright/CDP riêng, vì vậy việc tích hợp không cần gói trình duyệt bổ sung.
bash
pip install crawl4ai python-dotenv
export SCRAPELESS_TOKEN=your_api_token_here # mã miễn phí tại https://app.scrapeless.com
Cấu hình kết nối
Điểm cuối Scrapeless là wss://browser.scrapeless.com/api/v2/browser, và mọi tùy chọn là thông số truy vấn. Xây dựng URL một lần và đưa nó cho BrowserConfig.
python
import os
from urllib.parse import urlencode
def scrapeless_cdp_url() -> str:
params = {
"token": os.environ["SCRAPELESS_TOKEN"],
"sessionName": "Crawl4AI",
"sessionTTL": 180000, # milliseconds
"proxyCountry": "US",
}
return f"wss://browser.scrapeless.com/api/v2/browser?{urlencode(params)}"
Crawl cơ bản qua trình duyệt đám mây
Đặt browser_mode="cdp" và truyền cdp_url. Mọi thứ khác — vòng đời của crawler, CrawlerRunConfig, kết quả markdown — là tiêu chuẩn của Crawl4AI.
python
import asyncio
import os
from urllib.parse import urlencode
from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig
def scrapeless_cdp_url() -> str:
params = {
"token": os.environ["SCRAPELESS_TOKEN"],
"sessionName": "Crawl4AI",
"sessionTTL": 180000, # milliseconds
"proxyCountry": "US",
}
return f"wss://browser.scrapeless.com/api/v2/browser?{urlencode(params)}"
async def main() -> None:
async with AsyncWebCrawler(
config=BrowserConfig(
headless=True,
browser_mode="cdp",
cdp_url=scrapeless_cdp_url(),
)
) as crawler:
result = await crawler.arun(
url="https://www.scrapeless.com/en",
config=CrawlerRunConfig(wait_for="css:body", scan_full_page=True),
)
print("status:", result.status_code)
print("title:", result.metadata.get("title"))
print("markdown chars:", len(result.markdown.raw_markdown))
asyncio.run(main())
Một lần crawl trực tiếp đã trả lại status: 200, tiêu đề trang Công cụ thu thập dữ liệu web dễ dàng - Scrapeless, và hơn 11,000 ký tự markdown sạch — là đối tượng kết quả giống như Crawl4AI tạo ra cục bộ, lấy được qua trình duyệt đám mây.
Lấy khóa API của bạn trên gói miễn phí: app.scrapeless.com
Gửi một dấu vân tay nhất quán
Một đối tượng fingerprint giữ cho danh tính được quảng cáo của trình duyệt nhất quán — tác nhân người dùng, nền tảng, màn hình, ngôn ngữ và múi giờ đều đồng ý, đó là điều mà các điểm kiểm tra chống bot kiểm tra. Mã hóa JSON nó, sau đó truyền nó như một thông số truy vấn bổ sung. Quy định W3C WebDriver yêu cầu tự động hóa tuân thủ phải đặt cờ webdriver; trình duyệt đám mây không mang nó, vì vậy một dấu vân tay nhất quán không có tín hiệu mâu thuẫn nào bên cạnh nó.
python
import json
from urllib.parse import quote, urlencode
def fingerprint_cdp_url() -> str:
fingerprint = {
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, như Gecko) Chrome/126.0.0.0 Safari/537.36",
"platform": "Windows",
"screen": {"width": 1920, "height": 1080},
"localization": {"languages": ["en-US", "en"], "timezone": "America/New_York"},
}
params = {
"token": os.environ["SCRAPELESS_TOKEN"],
"sessionTTL": 180000,
"fingerprint": quote(json.dumps(fingerprint)),
}
return f"wss://browser.scrapeless.com/api/v2/browser?{urlencode(params)}"
Định tuyến quá trình crawl qua một khu vực đã chọn
Chuyển proxyCountry thành mã quốc gia ISO để chọn lối ra khu dân cư; một kiểm tra chống lại một điểm cuối IP-echo trong quá trình xác minh đã xác nhận địa chỉ IP thoát là một địa chỉ khu dân cư của Mỹ và navigator.webdriver đọc là false.
python
params = {
"token": os.environ["SCRAPELESS_TOKEN"],
"sessionTTL": 180000,
"proxyCountry": "DE", # hoặc "US", "JP", "ANY"
}
Nơi mà Chromium địa phương dừng lại
Chạy Crawl4AI trên Chromium của riêng bạn là tốt cho các trang mở, không được bảo vệ. Sự va chạm bắt đầu nơi mục tiêu ghi điểm trình duyệt: một ứng dụng được render bởi client mà không bao giờ gắn nội dung của nó vào một mặc định headless, một màn hình thách thức mà dừng lại ở một IP trung tâm dữ liệu, hoặc một bức tường đăng nhập muốn một danh tính ổn định qua các lần truy cập. Mỗi thứ đó đều là một vấn đề dấu vân tay, hành vi, hoặc IP — chính xác là ba điều mà trình duyệt đám mây xử lý ở phía máy chủ. Chuyển trình duyệt đến Scrapeless sẽ giao những trường hợp đó cho một phiên quản lý trong khi các cuộc gọi arun() và chiến lược trích xuất của bạn vẫn giữ nguyên.
Những gì bạn nhận được
Kết quả là đối tượng tiêu chuẩn của Crawl4AI — status_code, metadata, markdown, links, media, và bất kỳ trích xuất có cấu trúc nào bạn đã cấu hình. Một vài quan sát chân thành từ việc thực hiện nó qua trình duyệt đám mây:
navigator.webdriverlà không có, vì vậy kiểm tra đầu tiên mà một trang chạy đọc giống như một Chrome thật.sessionTTLtính bằng mili giây ở đây — chế độ CDP của Crawl4AI truyền giá trị trực tiếp, vì vậy180000tương đương với ba phút, không phải 180.- Địa chỉ IP ra phù hợp với
proxyCountry— các trang geo-gated hiển thị đúng như một người dùng địa phương thấy chúng. wait_forvẫn quyết định độ sẵn sàng — sử dụng một điều kiện CSS (css:body, một bộ chọn nội dung) đểarun()đọc trang sau khi client render gắn kết, không phải trước.
Kết luận: cùng một crawler, trình duyệt sạch hơn
Crawl4AI quyết định cái gì cần chiết xuất; Scrapeless quyết định cách trình duyệt hiển thị với trang web. Sự tích hợp là hai cài đặt — browser_mode="cdp" và một cdp_url — và phần còn lại của pipeline của bạn vẫn không thay đổi. Gán proxyCountry cho một khu vực dân cư, truyền một fingerprint đồng nhất, và tái sử dụng một profileId cho các lần crawl đã xác thực. Để kết nối một thư viện scraping Python khác với cùng một trình duyệt đám mây, hãy xem hướng dẫn Scrapling production-scraper, và so sánh các kế hoạch trên trang giá Scrapeless.
Sẵn sàng để xây dựng pipeline crawling hỗ trợ AI của bạn?
Tham gia cộng đồng của chúng tôi để nhận một kế hoạch miễn phí và kết nối với các nhà phát triển xây dựng pipeline Crawl4AI: Discord · Telegram.
Đăng ký tại app.scrapeless.com để nhận runtime Scraping Browser miễn phí và hướng cdp_url của Crawl4AI tới trình duyệt đám mây mà mục tiêu của bạn không thể fingerprint.
Câu hỏi thường gặp
H: Tôi có phải thay đổi mã chiết xuất Crawl4AI của mình không?
Không. Bạn chỉ cần thay đổi cách tạo trình duyệt — browser_mode="cdp" cộng với một cdp_url — và vòng đời crawler, CrawlerRunConfig, chiến lược chiết xuất, và output markdown vẫn hoàn toàn như cũ.
H: Tại sao không chỉ chạy Crawl4AI trên Chromium cục bộ?
Chromium cục bộ chạy trên IP của bạn, thông báo tự động thông qua navigator.webdriver, và yêu cầu bạn duy trì các bản vá bí mật. Trình duyệt đám mây là một phiên làm việc được quản lý với đầu ra dân cư tích hợp và fingerprint nhất quán — cùng một API crawler, không cần bảo trì.
H: Tôi có cần một proxy không?
Không. Đầu ra dân cư đã được tích hợp — đặt proxyCountry thành một khu vực hoặc ANY. Không có proxy riêng biệt nào cần cấu hình.
H: sessionTTL là tính bằng giây hay mili-giây?
Trong chế độ CDP của Crawl4AI, giá trị được truyền qua dưới dạng mili-giây, vì vậy 180000 có nghĩa là ba phút. Đặt nó đủ dài để bao quát toàn bộ quá trình crawl.
H: Việc web scraping với Crawl4AI 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 tắc khác nhau 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ỉ dẫn của robot, và hỏi ý kiến luật sư cho 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.



