Ngiêm cấm sử đụng PROXY và VPS vào mục đích trái pháp luật bạn sẽ phải chịu toàn bộ trách nhiệm trước pháp luật khi sử dụng dịch vụ của chúng tôi tks!
Crawl4AI là gì? Cấu hình proxy để thu thập dữ liệu cho AI

Crawl4AI là gì? Cấu hình proxy để thu thập dữ liệu cho AI

Chuyên viên Kỹ thuật ProxyVN 09-27-2026 Đang tính... phút đọc

Crawl4AI proxy là cách gắn proxy cho Crawl4AI, thư viện Python mã nguồn mở chuyên biến trang web thành Markdown sạch để đưa vào mô hình ngôn ngữ lớn. Khi thu thập nhiều trang hoặc trang giới hạn theo vùng, proxy giúp phân tán yêu cầu và lấy đúng nội dung theo vị trí. Bài này ProxyVN giải thích Crawl4AI là gì, cách cài, cách gắn proxy theo từng request, xoay proxy, chạy bằng Docker, kết nối n8n và MCP, kèm nguyên tắc thu thập có trách nhiệm. Tham khảo dịch vụ tại ProxyVN.

Tổng quan về Crawl4AI proxy

Trước khi cấu hình proxy, anh em cần hiểu Crawl4AI làm gì và vì sao nó được giới làm AI ưa chuộng. Hiểu đúng công cụ giúp chọn đúng chỗ gắn proxy.

Crawl4AI là gì

Theo kho mã Crawl4AI trên GitHub, dự án tự mô tả là công cụ thu thập và trích xuất web mã nguồn mở cho LLM và AI agent, biến mọi trang web thành Markdown sạch sẵn sàng cho mô hình. Dự án dùng giấy phép Apache-2.0, có khoảng 86 nghìn sao trên GitHub, và có cả bản thư viện Python, máy chủ tự dựng lẫn dịch vụ đám mây.

Bên dưới, Crawl4AI điều khiển trình duyệt thật qua Playwright, chi tiết có trong tài liệu chính thức của Crawl4AI. Nhờ vậy nó tải được cả trang render bằng JavaScript, điều mà thư viện HTTP đơn thuần không làm được. Sau khi trang tải xong, công cụ lọc bỏ menu, quảng cáo, chân trang và chuyển phần nội dung chính thành Markdown.

Vì sao Markdown quan trọng với AI

Mô hình ngôn ngữ tính phí và giới hạn theo số token. Đưa nguyên HTML của một trang vào mô hình là lãng phí, vì phần lớn là thẻ, thuộc tính, mã script không mang nghĩa. Markdown giữ lại tiêu đề, danh sách, bảng, liên kết nhưng gọn hơn nhiều lần.

Dữ liệu sạch giúp câu trả lời của mô hình chính xác hơn và rẻ hơn. Đây là lý do Crawl4AI được dùng nhiều trong hệ thống RAG, công cụ tóm tắt tin tức, AI agent tự duyệt web. Bức tranh chung về thu thập dữ liệu cho AI có trong bài web scraping dữ liệu AI bằng proxy.

Khi nào cần proxy

Crawl4AI chạy tốt mà không cần proxy với khối lượng nhỏ. Proxy trở nên cần thiết khi:

  • Thu thập nhiều trang từ cùng một website, dễ chạm giới hạn tần suất theo IP.
  • Nội dung thay đổi theo quốc gia, ví dụ giá, tồn kho, kết quả tìm kiếm, cần IP đúng vùng.
  • Máy chủ chạy Crawl4AI là VPS có IP datacenter bị nhiều trang chặn sẵn.
  • Chạy song song nhiều tác vụ thu thập cho nhiều khách hàng, cần tách IP.

Nếu chỉ lấy vài trang tài liệu công khai mỗi ngày, anh em không cần proxy. Thêm proxy khi chưa cần chỉ làm chậm và tốn chi phí.

Cài đặt Crawl4AI và chạy thử

Từ trang web tới văn bản sạch

Từ trang web tới văn bản sạch

Phần này đi qua cài đặt và chạy ví dụ đầu tiên. Nên chạy được bản không proxy trước, rồi mới gắn proxy, để khi có lỗi biết ngay lỗi nằm ở đâu.

Cài bằng pip

Theo hướng dẫn trên GitHub, cài đặt gồm ba lệnh:

pip install -U crawl4ai
crawl4ai-setup
crawl4ai-doctor

Lệnh thứ hai cài trình duyệt cần thiết, chỉ chạy một lần. Lệnh thứ ba kiểm tra cài đặt. Nếu cài trình duyệt thất bại, tài liệu gợi ý chạy `python -m playwright install --with-deps chromium`. Anh em nên cài trong môi trường ảo Python riêng để không xung đột thư viện với dự án khác.

Chạy ví dụ đầu tiên

Ví dụ khởi đầu trong tài liệu chỉ vài dòng, tải một trang và in ra Markdown:

import asyncio
from crawl4ai import AsyncWebCrawler
 
async def main():
    async with AsyncWebCrawler() as crawler:
        result = await crawler.arun(url="https://news.ycombinator.com")
        print(result.markdown)
 
asyncio.run(main())

Crawl4AI dùng lập trình bất đồng bộ với `asyncio`, nên mọi lời gọi đều có `await`. Chạy được ví dụ này nghĩa là trình duyệt và thư viện đã sẵn sàng.

Hai lớp cấu hình

Crawl4AI chia cấu hình thành hai lớp. `BrowserConfig` quy định trình duyệt: loại trình duyệt, chạy ẩn hay hiện, user agent, kích thước cửa sổ, hồ sơ lưu cookie. `CrawlerRunConfig` quy định từng lượt thu thập: bộ nhớ đệm, chờ phần tử nào xuất hiện, thời gian chờ, cách sinh Markdown, và từ các bản gần đây là cả proxy.

Theo tài liệu cấu hình trình duyệt và lượt thu thập, `page_timeout` mặc định 60.000 mili giây, `cache_mode` mặc định bỏ qua bộ nhớ đệm. Hiểu hai lớp này giúp đặt proxy đúng chỗ.

Gắn proxy cho Crawl4AI proxy theo từng request

Gắn proxy cho từng lượt thu thập

Gắn proxy cho từng lượt thu thập

Đây là phần chính của bài. Cách gắn proxy đã thay đổi qua các phiên bản, nên anh em cần chú ý phiên bản đang dùng.

Cách khuyến nghị ở bản mới

Theo tài liệu proxy và bảo mật của Crawl4AI cho bản 0.9.x, cách khuyến nghị là cấu hình proxy theo từng request qua `CrawlerRunConfig.proxy_config`. Tham số này nhận đối tượng `ProxyConfig`, một từ điển, hoặc một chuỗi URL proxy. Tham số `proxy` cũ trên `BrowserConfig` đã bị đánh dấu lỗi thời.

Ví dụ dưới đây do ProxyVN viết theo mô tả trong tài liệu, gắn một proxy có xác thực:

import asyncio, os
from crawl4ai import AsyncWebCrawler, CrawlerRunConfig, ProxyConfig
 
proxy = ProxyConfig(
    server="http://ip-proxy:port",
    username=os.environ["PROXY_USER"],
    password=os.environ["PROXY_PASS"],
)
 
async def main():
    run_conf = CrawlerRunConfig(proxy_config=proxy)
    async with AsyncWebCrawler() as crawler:
        result = await crawler.arun("https://api.ipify.org", config=run_conf)
        print(result.markdown)
 
asyncio.run(main())

Đường dẫn import `ProxyConfig` có thể khác giữa các phiên bản, anh em đối chiếu tài liệu đúng bản đang cài. Kết quả in ra phải là IP của proxy, không phải IP của máy.

Định dạng chuỗi proxy

`ProxyConfig.from_string()` nhận nhiều định dạng, rất tiện khi nhà cung cấp giao proxy theo kiểu khác nhau:

  • `http://user:pass@host:port`
  • `https://host:port`
  • `socks5://host:port`
  • `host:port`
  • `host:port:user:pass`

Định dạng cuối là kiểu phổ biến mà nhà cung cấp proxy Việt Nam hay dùng, Crawl4AI đọc được trực tiếp. Tài liệu khuyên dùng SOCKS5 khi có thể vì hỗ trợ giao thức tốt hơn.

Đọc proxy từ biến môi trường

`ProxyConfig.from_env()` đọc danh sách proxy từ biến môi trường, mặc định là `PROXIES`, mỗi proxy dạng `ip:port:user:pass` phân tách bằng dấu phẩy. Hàm trả về một danh sách, có thể lấy từng phần tử hoặc đưa vào chiến lược xoay.

export PROXIES="ip1:port:user:pass,ip2:port:user:pass,ip3:port:user:pass"

Tài liệu khuyên giữ thông tin đăng nhập trong biến môi trường thay vì ghi vào mã. Mã đẩy lên kho chung mà chứa mật khẩu proxy là lỗi phổ biến và tốn kém.

Gắn proxy ở cấp trình duyệt

Với bản cũ hoặc khi muốn mọi lượt thu thập dùng cùng một proxy, anh em có thể đặt `proxy_config` trên `BrowserConfig`. Cách này khởi động trình duyệt với proxy cố định. Nhược điểm là muốn đổi proxy phải tạo lại trình duyệt, tốn thời gian. Với nhu cầu xoay proxy, cấu hình theo request linh hoạt hơn nhiều.

Xoay vòng Crawl4AI proxy khi thu thập nhiều trang

Xoay vòng nhiều IP

Xoay vòng nhiều IP

Khi thu thập hàng trăm, hàng nghìn trang, dồn tất cả qua một IP dễ bị giới hạn. Crawl4AI có sẵn chiến lược xoay proxy.

RoundRobinProxyStrategy

Tài liệu hướng dẫn đặt `proxy_rotation_strategy` trên `CrawlerRunConfig`, dùng `RoundRobinProxyStrategy` dựng từ danh sách của `ProxyConfig.from_env()`. Mỗi request lấy proxy kế tiếp theo vòng tròn. Ví dụ minh hoạ:

import asyncio
from crawl4ai import (AsyncWebCrawler, CrawlerRunConfig, CacheMode,
                      ProxyConfig, RoundRobinProxyStrategy)
 
async def main():
    proxies = ProxyConfig.from_env()
    strategy = RoundRobinProxyStrategy(proxies)
    run_conf = CrawlerRunConfig(
        cache_mode=CacheMode.BYPASS,
        proxy_rotation_strategy=strategy,
    )
    urls = ["https://api.ipify.org"] * 6
    async with AsyncWebCrawler() as crawler:
        results = await crawler.arun_many(urls, config=run_conf)
        for r in results:
            print(r.url, r.markdown.strip()[:40])
 
asyncio.run(main())

Tài liệu gợi ý kiểm tra IP đầu ra của từng kết quả với danh sách proxy để xác nhận việc xoay đang hoạt động. Ví dụ trên gọi trang trả IP sáu lần, kết quả phải lần lượt là IP của từng proxy.

Giữ cùng IP cho một phiên

Một số trang cần đăng nhập hoặc giữ giỏ hàng, đổi IP giữa chừng sẽ mất phiên. Với các tác vụ này, anh em gán một proxy cố định cho cả chuỗi request của phiên đó, kết hợp `use_persistent_context` và `user_data_dir` để giữ cookie. Chỉ xoay proxy giữa các phiên khác nhau, không xoay trong một phiên.

Kiểm tra chứng chỉ SSL

Crawl4AI có tuỳ chọn `fetch_ssl_certificate=True` trên `CrawlerRunConfig`, trả về thông tin chứng chỉ của trang như đơn vị cấp, ngày hết hạn, dấu vân tay. Khi đi qua proxy, đối chiếu chứng chỉ giúp phát hiện proxy can thiệp vào kết nối HTTPS. Proxy tin cậy chỉ chuyển tiếp, không thay chứng chỉ.

Chạy Crawl4AI proxy bằng Docker

Với hệ thống cần gọi Crawl4AI từ nhiều ứng dụng khác nhau, chạy bản máy chủ bằng Docker tiện hơn nhúng thư viện vào từng ứng dụng.

Khởi động máy chủ

Theo hướng dẫn trên GitHub, máy chủ chạy ở cổng 11235 và yêu cầu token:

export CRAWL4AI_API_TOKEN="$(openssl rand -hex 32)"
docker run -d -p 11235:11235 --name crawl4ai --shm-size=1g \
  -e CRAWL4AI_API_TOKEN="$CRAWL4AI_API_TOKEN" \
  unclecode/crawl4ai:latest

Máy chủ có trang điều khiển tại `/dashboard` và khu thử nghiệm tại `/playground`. Tham số `--shm-size=1g` cần thiết vì trình duyệt Chromium dùng bộ nhớ chia sẻ, thiếu sẽ bị treo khi tải trang nặng.

Truyền proxy cho máy chủ

Có hai cách. Cách thứ nhất là truyền biến `PROXIES` vào container, rồi trong request gửi lên máy chủ chỉ định cấu hình proxy. Cách thứ hai là gửi thông tin proxy trực tiếp trong phần cấu hình của từng request API. Cách thứ hai linh hoạt hơn khi mỗi khách hàng hay mỗi tác vụ dùng proxy riêng.

Không mở cổng 11235 ra Internet khi không cần, và luôn giữ token bí mật. Máy chủ thu thập là công cụ mạnh, lộ ra ngoài là người khác dùng nó và dùng luôn proxy của anh em.

Kết nối Crawl4AI proxy với n8n và MCP

Crawl4AI hiếm khi chạy một mình. Nó thường là một mắt xích trong quy trình tự động hoá hoặc là công cụ cho AI agent.

Gọi từ n8n

Trong n8n, anh em dùng nút HTTP Request gọi API của máy chủ Crawl4AI chạy Docker, gửi kèm token trong header. Kết quả Markdown trả về được đưa tiếp sang nút AI để tóm tắt, phân loại hay trích xuất thông tin. Quy trình thường gặp là đọc danh sách URL từ bảng tính, thu thập từng trang, tóm tắt, rồi ghi lại kết quả.

Khi n8n tự gọi ra ngoài cho các bước khác, nó cũng có thể cần proxy riêng. Cách cấu hình proxy cho n8n có trong bài proxy cho n8n.

Dùng như công cụ MCP cho AI agent

Theo GitHub, máy chủ tự dựng của Crawl4AI có hỗ trợ MCP, và bản đám mây cũng cung cấp điểm kết nối MCP. Nhờ đó, các trợ lý AI hỗ trợ MCP có thể gọi Crawl4AI để đọc trang web như một công cụ. Agent tự quyết định trang nào cần đọc, Crawl4AI lo phần tải và làm sạch.

Khi agent tự duyệt web với tần suất cao, vấn đề IP còn quan trọng hơn. Bài proxy cho AI agent tự động bàn kỹ về việc chọn IP cho agent.

Trích xuất dữ liệu có cấu trúc với Crawl4AI proxy

Markdown hợp để đưa vào mô hình đọc hiểu. Nhưng nhiều bài toán cần dữ liệu dạng bảng: tên sản phẩm, giá, tình trạng còn hàng. Crawl4AI có các chiến lược trích xuất cho nhu cầu này, chạy được cùng proxy như bình thường.

Trích xuất bằng bộ chọn CSS

Với trang có cấu trúc HTML ổn định, cách rẻ và nhanh nhất là khai báo sơ đồ bộ chọn CSS. Crawl4AI có chiến lược trích xuất theo sơ đồ JSON, không cần gọi mô hình ngôn ngữ. Ví dụ minh hoạ lấy danh sách sản phẩm:

from crawl4ai import CrawlerRunConfig, JsonCssExtractionStrategy
 
schema = {
    "name": "SanPham",
    "baseSelector": "div.product-item",
    "fields": [
        {"name": "ten", "selector": "h3.title", "type": "text"},
        {"name": "gia", "selector": "span.price", "type": "text"},
        {"name": "link", "selector": "a", "type": "attribute", "attribute": "href"},
    ],
}
 
run_conf = CrawlerRunConfig(
    extraction_strategy=JsonCssExtractionStrategy(schema),
    proxy_config=proxy,
)

Kết quả nằm trong `result.extracted_content` dưới dạng chuỗi JSON. Bộ chọn CSS trong ví dụ là giả định, anh em phải mở trang đích, xem cấu trúc thật rồi thay cho phù hợp.

Trích xuất bằng mô hình ngôn ngữ

Khi cấu trúc trang thay đổi thường xuyên hoặc khác nhau giữa nhiều website, anh em có thể dùng chiến lược trích xuất bằng LLM. Crawl4AI gửi nội dung trang cùng mô tả dữ liệu cần lấy cho mô hình, mô hình trả về JSON. Cách này linh hoạt nhưng tốn chi phí gọi mô hình cho mỗi trang.

Một mẹo tiết kiệm là dùng LLM để sinh sơ đồ CSS một lần cho mỗi website, rồi dùng sơ đồ đó cho hàng nghìn trang tiếp theo. Chi phí mô hình chỉ phát sinh ở bước đầu.

Lọc nội dung trước khi chuyển Markdown

Tham số bộ lọc nội dung giúp chỉ giữ phần chính của trang, bỏ bình luận, thanh bên, bài liên quan. Với hệ thống RAG, nội dung càng sạch thì đoạn được truy xuất càng đúng ý. Anh em nên thử vài cấu hình lọc trên mẫu trang trước khi chạy hàng loạt.

Ứng dụng thực tế của Crawl4AI proxy

Phần này điểm qua các bài toán hay gặp ở doanh nghiệp Việt Nam, kèm vai trò của proxy trong từng bài toán.

Theo dõi giá trên sàn thương mại điện tử

Doanh nghiệp bán lẻ theo dõi giá đối thủ trên các sàn và website bán hàng. Trang sàn thường có hệ thống chống bot khá mạnh và hiển thị giá theo khu vực giao hàng. Proxy dân cư Việt Nam giúp nhìn thấy đúng giá người mua trong nước thấy, xoay IP giúp phân tán yêu cầu. Kết hợp trích xuất theo sơ đồ CSS, mỗi ngày có bảng giá cập nhật tự động.

Tổng hợp tin tức và báo cáo ngành

Đội nghiên cứu thu thập bài viết từ nhiều trang tin, chuyển thành Markdown rồi nhờ mô hình tóm tắt theo chủ đề. Trang tin thường ít chống bot, proxy datacenter là đủ. Vai trò chính của proxy ở đây là tránh bị giới hạn khi tải nhiều bài từ cùng một trang trong thời gian ngắn.

Xây kho tri thức cho chatbot

Doanh nghiệp muốn chatbot trả lời dựa trên tài liệu công khai của chính mình, ví dụ trang trợ giúp, chính sách, câu hỏi thường gặp. Crawl4AI tải toàn bộ các trang này, chuyển thành Markdown, chia đoạn và đưa vào cơ sở dữ liệu vector. Với website của chính mình, thường không cần proxy, trừ khi máy thu thập nằm ở nước ngoài mà trang chặn truy cập quốc tế.

Nghiên cứu nội dung đối thủ cho SEO

Đội SEO thu thập các bài viết đứng đầu kết quả tìm kiếm cho một từ khoá, phân tích cấu trúc tiêu đề, độ dài, chủ đề con. Crawl4AI cho ra Markdown giữ nguyên cấp tiêu đề, rất tiện để so sánh dàn ý. Nên giới hạn tốc độ và chỉ lấy số trang vừa đủ cho phân tích.

Vận hành Crawl4AI proxy ở quy mô lớn

Chạy vài chục trang khác hẳn chạy vài chục nghìn trang mỗi ngày. Ở quy mô lớn, vấn đề chuyển từ viết mã sang vận hành ổn định.

Theo dõi tỷ lệ thành công theo proxy

Ghi lại với mỗi request: proxy nào, URL nào, mã trạng thái, thời gian tải. Sau một ngày, anh em biết proxy nào hay lỗi, website nào hay chặn. Proxy có tỷ lệ lỗi cao bất thường nên tạm loại khỏi danh sách xoay. Không ghi mật khẩu proxy vào nhật ký.

Dùng bộ nhớ đệm hợp lý

Khi chạy lại cùng tập URL nhiều lần trong ngày để thử cấu hình trích xuất, bật bộ nhớ đệm giúp không phải tải lại trang qua proxy. Tiết kiệm băng thông proxy và giảm tải cho website đích. Khi chạy thật cần dữ liệu mới, chuyển `cache_mode` về bỏ qua.

Tài nguyên máy chủ

Mỗi trình duyệt Chromium tốn vài trăm MB bộ nhớ. Chạy song song quá nhiều sẽ làm máy chủ hết RAM và treo. Bắt đầu với số luồng nhỏ, theo dõi bộ nhớ, tăng dần. Với Docker, nhớ cấp đủ `shm-size` như đã hướng dẫn.

Thu thập có trách nhiệm với Crawl4AI proxy

Thu thập có chừng mực

Thu thập có chừng mực

Proxy giúp thu thập hiệu quả hơn, nhưng không phải giấy phép để thu thập bất chấp. Tôn trọng website vừa là đạo đức, vừa giúp công việc bền vững lâu dài.

Tôn trọng robots.txt

Tệp robots.txt cho biết chủ website muốn bot tránh những đường dẫn nào. Crawl4AI có tuỳ chọn `check_robots_txt=True` trong `CrawlerRunConfig` để tự kiểm tra trước khi tải. Anh em nên bật tuỳ chọn này mặc định, chỉ tắt khi đã có thoả thuận với chủ website.

Giới hạn tốc độ và số luồng

Xoay nhiều proxy không có nghĩa là được gửi hàng nghìn request mỗi giây vào một website. Hãy giới hạn số trang tải song song, thêm khoảng nghỉ giữa các request tới cùng tên miền. Một website nhỏ có thể sập vì một công cụ thu thập cấu hình quá tay.

Điều khoản và dữ liệu cá nhân

Đọc điều khoản sử dụng của website trước khi thu thập. Không thu thập dữ liệu cá nhân như số điện thoại, email, thông tin người dùng khi chưa có cơ sở pháp lý. Với dữ liệu dùng để huấn luyện mô hình, cần cân nhắc thêm về bản quyền. Bài proxy training AI có phần bàn về khía cạnh này.

So sánh Crawl4AI proxy với Firecrawl và các công cụ khác

Crawl4AI không phải lựa chọn duy nhất để thu thập dữ liệu cho AI. Mỗi công cụ có thế mạnh riêng.

Bảng so sánh nhanh

Bảng: Bảng so sánh nhanh

Tiêu chí

Crawl4AI

Firecrawl

Playwright tự viết

Mã nguồn

Mở, Apache-2.0

Có bản mở và dịch vụ đám mây

Mở

Đầu ra

Markdown sạch cho LLM

Markdown, JSON

Tự xử lý

Proxy

Cấu hình theo request, có xoay sẵn

Dịch vụ đám mây tự lo

Tự cấu hình

Chi phí

Tự vận hành miễn phí

Trả phí theo lượt ở bản đám mây

Miễn phí, tốn công viết

Hợp với

Đội tự kiểm soát hạ tầng

Đội muốn dịch vụ sẵn

Tác vụ đặc thù

Với tác vụ cần điều khiển trình duyệt chi tiết, tự viết bằng Playwright cho nhiều quyền kiểm soát nhất, xem bài proxy Playwright. Thư viện Crawlee của Apify cũng là lựa chọn mạnh cho hệ thống thu thập quy mô lớn viết bằng JavaScript hoặc Python.

Khi nào chọn Crawl4AI

Crawl4AI hợp nhất khi đầu ra cuối cùng là văn bản cho mô hình ngôn ngữ, đội muốn tự vận hành để kiểm soát chi phí và dữ liệu, và cần tích hợp proxy riêng. Với dịch vụ đám mây trả phí theo lượt, chi phí tăng nhanh khi khối lượng lớn, còn tự vận hành chỉ tốn máy chủ và proxy.

Sửa lỗi thường gặp với Crawl4AI proxy

Phần xử lý sự cố trong tài liệu nhắc tới các nhóm lỗi: kết nối thất bại, lỗi SSL, biến môi trường không được nạp, và xoay proxy không có tác dụng.

Kết nối qua proxy thất bại

Kiểm tra proxy còn sống bằng curl trước. Kiểm tra định dạng chuỗi proxy, đặc biệt dấu hai chấm trong mật khẩu. Với proxy SOCKS5 có mật khẩu, trình duyệt Chromium có giới hạn về xác thực SOCKS, nếu gặp lỗi hãy thử proxy HTTP của cùng nhà cung cấp.

Biến môi trường không được nạp

`ProxyConfig.from_env()` trả về danh sách rỗng thường do biến `PROXIES` được đặt ở cửa sổ dòng lệnh khác, hoặc không truyền vào container Docker. In `os.environ.get("PROXIES")` ở đầu chương trình để kiểm tra.

Xoay proxy không có tác dụng

Nếu mọi kết quả trả về cùng một IP, kiểm tra đã đặt `proxy_rotation_strategy` trên `CrawlerRunConfig` chứ không phải trên `BrowserConfig`. Kiểm tra cấu hình được truyền vào đúng lời gọi `arun_many`. Bộ nhớ đệm cũng có thể trả kết quả cũ, đặt `cache_mode=CacheMode.BYPASS` khi kiểm tra.

Trang trả về nội dung trống

Trang render bằng JavaScript có thể chưa tải xong khi Crawl4AI trích xuất. Dùng tham số `wait_for` với bộ chọn CSS của phần nội dung chính, ví dụ `"css:.main-loaded"`, để chờ phần tử xuất hiện. Tăng `page_timeout` nếu đi qua proxy ở xa làm trang tải chậm hơn.

Chọn proxy cho Crawl4AI proxy

Loại proxy phù hợp phụ thuộc vào website đích và khối lượng thu thập. Chọn đúng giúp tỷ lệ thành công cao mà chi phí hợp lý.

Datacenter hay dân cư

Proxy datacenter nhanh, rẻ, hợp với trang tài liệu, tin tức, website ít chống bot. Proxy dân cư có IP thuộc nhà mạng gia đình, tỷ lệ thành công cao hơn với trang có hệ thống chống bot khắt khe như thương mại điện tử. Nhiều hệ thống dùng kết hợp: datacenter cho phần lớn, dân cư cho các trang khó.

Ước tính băng thông trước khi chọn gói

Crawl4AI tải trang bằng trình duyệt thật, nên mỗi trang kéo theo ảnh, phông chữ, tệp JavaScript, có khi vài MB một trang. Với proxy tính phí theo dung lượng, thu thập mười nghìn trang có thể tốn hàng chục GB. Anh em nên đo dung lượng trung bình mỗi trang trên một mẫu nhỏ trước, rồi nhân lên để chọn gói phù hợp.

Một cách giảm băng thông là bật chế độ chỉ tải văn bản trên `BrowserConfig`, như tham số `text_mode` trong ví dụ của tài liệu, để trình duyệt không tải ảnh. Với mục tiêu lấy nội dung cho mô hình ngôn ngữ, ảnh thường không cần thiết, tắt đi vừa nhanh hơn vừa rẻ hơn. Proxy tính phí theo IP không giới hạn dung lượng thì không cần lo phần này.

Khi cần IP Việt Nam để thu thập nội dung theo vùng, anh em có thể mua proxy tại ProxyVN, gồm datacenter Việt Nam, dân cư tĩnh Viettel, VNPT, FPT và proxy xoay, hỗ trợ HTTP và SOCKS5, định dạng `ip:port:user:pass` mà Crawl4AI đọc trực tiếp.

Kết luận

Crawl4AI proxy giúp thư viện biến web thành Markdown cho AI chạy ổn định ở quy mô lớn. Anh em gắn proxy theo từng request qua `CrawlerRunConfig.proxy_config`, xoay bằng `RoundRobinProxyStrategy`, giữ mật khẩu trong biến môi trường và luôn thu thập có chừng mực. Cần tư vấn, hãy liên hệ Proxy.vn - Nhà cung cấp dịch vụ proxy chất lượng hàng đầu Việt Nam khi triển khai Crawl4AI proxy.

TIN TỨC LIÊN QUAN