Crawl một Trang Web Hoàn Toàn Với Một Yêu Cầu API Đơn Lẻ
TL;DR
Bạn có thể gửi toàn bộ một website với một yêu cầu POST /api/v1/crawl đến Nstproxy Crawl. Yêu cầu bắt đầu một công việc không đồng bộ; việc kiểm tra định kỳ và truy xuất kết quả phân trang vẫn cần thiết sau đó.
Một quá trình thu thập toàn bộ website an toàn là có giới hạn, không thực sự là không giới hạn. Đặt maxDepth, maxPages, bao gồm/bỏ qua các mẫu URL, xử lý truy vấn, định dạng đầu ra, và thời gian chờ trước khi trình thu thập theo liên kết.
Giới hạn độ sâu và số trang giải quyết các vấn đề khác nhau. Độ sâu giới hạn số lần nhảy liên kết mà trình thu thập di chuyển; số lượng trang giới hạn tổng công việc mặc dù đồ thị liên kết có thể rộng.
Canonical hóa và bẫy xác định chất lượng dữ liệu. Các đường dẫn lịch, điều hướng phân cấp, tham số theo dõi, chuyển tiếp, và các canonical trùng lặp có thể tiêu tốn một quá trình thu thập lâu trước khi các trang giá trị được tiếp cận.
Đối xử với việc hoàn thành như một sự kiện về chất lượng tập dữ liệu. Kiểm tra số lượng hoàn thành, đang chờ và thất bại; phân trang mỗi trang kết quả; loại bỏ trùng lặp; và xác minh độ bao phủ so với bản đồ trang web hoặc tập URL đã biết.
Một “toàn bộ website” hiếm khi là một danh sách sạch sẽ, hữu hạn. Một miền có thể phơi bày hàng triệu tổ hợp tham số, liên kết lịch, trang tìm kiếm, bản sao địa phương, và các tuyến đường JavaScript. Do đó, một lần thu thập hữu ích cần một URL khởi đầu cộng với những ranh giới rõ ràng.
Nstproxy Crawl đóng gói việc phát hiện, truy xuất trang, kết xuất, trích xuất, định tuyến proxy, trạng thái tác vụ, và lưu trữ tài liệu tạm thời dưới một API. Hướng dẫn này gửi một công việc có giới hạn cho một trang web, kiểm soát phạm vi, kiểm tra trạng thái, truy xuất mỗi trang kết quả, và kiểm tra xem tập dữ liệu đã hoàn thành có đủ cho mục đích sử dụng của nó hay không.
Nstproxy Crawl Làm Gì Với Một Yêu Cầu?
Nstproxy Crawl bắt đầu từ một URL, phát hiện các liên kết cùng miền, và xử lý các trang đủ điều kiện theo những giới hạn trong yêu cầu. Việc gửi trả về một định danh tác vụ thay vì giữ kết nối HTTP mở cho đến khi toàn bộ trang web hoàn thành.
Trải nghiem Nstproxy - Bat dau dung thu mien phi ngay
Cụm từ “một yêu cầu API duy nhất” áp dụng cho việc gửi công việc. Một khách hàng sản xuất phải gọi các điểm cuối trạng thái và kết quả trang sau đó. Thiết kế không đồng bộ này là hợp lý vì toàn bộ một trang web có thể mất nhiều thời gian hơn thời gian chờ yêu cầu bình thường và có thể tạo ra một tập dữ liệu phân trang.
Crawling toàn bộ website là khó khăn vì các website phơi bày các đồ thị, chứ không phải thư mục. Một trình thu thập phải quyết định các URL được phát hiện nào đại diện cho nội dung mới, cái nào là trùng lặp, và cái nào dẫn vào các không gian vô hạn hoặc giá trị thấp.
Những bẫy thường gặp nhất là:
lịch với các liên kết “tháng sau” không bao giờ kết thúc;
các bộ lọc sản phẩm phân cấp mà các tổ hợp của chúng nhân lên;
các tham số phiên, giới thiệu, theo dõi, và sắp xếp;
chế độ xem in và các URL di động thay thế;
gương ngôn ngữ và khu vực;
chuỗi chuyển hướng và các thẻ canonical không nhất quán;
các liên kết phía khách hàng chỉ xuất hiện sau khi thực thi JavaScript;
các trang 404 mềm trả về HTTP 200;
các tệp lớn và điểm cuối không phải là trang HTML.
Các quy tắc cho robots và phát hiện bản đồ trang web cung cấp các tín hiệu quan trọng. Tiêu chuẩn Giao thức loại trừ Robots chuẩn hóa hành vi của robots.txt, và giao thức Sitemap định nghĩa định dạng danh sách URL XML chung. Không nguồn nào cấp phép để thu thập dữ liệu; bạn cũng phải tôn trọng các điều khoản, ranh giới xác thực, bản quyền, quyền riêng tư, và luật pháp áp dụng.
Các Yêu Cầu
Bạn cần một tài khoản Nstproxy, một khóa API Crawl, một URL hạt giống công khai được ủy quyền, và một định nghĩa rõ ràng về độ bao phủ cần thiết. Quyết định xem bạn cần văn bản trang, liên kết, HTML, ảnh chụp màn hình, hoặc một tài liệu hỗ trợ khác trước khi gửi.
Tạo một kế hoạch chấp nhận nhỏ:
các gia đình URL dự kiến, chẳng hạn như /docs/ hoặc /products/;
các gia đình bị loại trừ, chẳng hạn như /account/, /cart/, /search/, và các lịch;
độ sâu tối đa và ngân sách trang;
các quy tắc ngôn ngữ và chủ sở hữu canonical dự kiến;
các kiểm tra nội dung tối thiểu cho các trang được chấp nhận;
chính sách làm mới và xóa cho lưu trữ hạ nguồn.
Bắt đầu với một giá trị maxPages thấp đối với một phần đại diện. Một thử nghiệm được giới hạn tiết lộ những cạm bẫy URL mà không tiêu tốn toàn bộ ngân sách công việc.
.image-icon:before{content:"";position: absolute;left:7px;top:14px;width:13px;height:8px;background:#3a70ff;clip-path:polygon(0100%,35%35%,55%65%,72%45%,100%100%);}.image-icon:after{content:"";position: absolute;right:6px;top:6px;width:4px;height:4px;border-radius:50%;background:#3a70ff;}.line{height:7px;margin-top:10px;border-radius:4px;background:#e6e8ec;}.line.short{width:65%;}.line.tiny{width:45%;}.code-copy{margin-top:8px;font-family:"SFMono-Regular", Consolas, monospace;color:#858b97;font-size:12px;line-height:1.45;}.shot-window{margin-top:12px;height:62px;overflow: hidden;border:1px solid #c8cdd6;border-radius:6px;background:#f6f7f9;}.shot-top{height:13px;border-bottom:1px solid #d7dbe1;background:#fff;}.dots{display: inline-block;width:4px;height:4px;margin:4px005px;border-radius:50%;background:#ccd0d7;box-shadow:7px0#ccd0d7,14px0#ccd0d7;}.shot-hero{float: left;width:68px;height:30px;margin:10px8px;border-radius:3px;background:#d2d5db;}.shot-copy{margin:10px8px086px;height:6px;border-radius:3px;background:#d5d8dd;box-shadow:012px#e0e2e6,-12px24px#d5d8dd;}@mediaonly screen and(max-width:650px){.canvas{padding:12px;}.copy-cell,.visual-cell{display: block;width:100%;}.copy-cell{padding:32px24px16px;text-align: center;}.visual-cell{padding:16px12px28px;}.description br{display: none;}.cta{margin-top:22px;}.crawl-visual{transform-origin: top center;transform:scale(.88);margin:0 auto -31px;}}@mediaonly screen and(max-width:520px){h1{font-size:22px;}.description{font-size:14px;}.crawl-visual{left:50%;margin-left:-265px;transform:scale(.62);margin-bottom:-99px;}</style><main class="canvas"> <section class="feature" aria-label="Tổng quan về Nstproxy Crawl"> <table class="layout" role="presentation" cellpadding="0" cellspacing="0"> <tr> <td class="copy-cell"> <h1>Biến Một URL thành Dữ liệu Trang</h1> <p class="description">Sử dụng Nstproxy Crawl để phát hiện, kết xuất và trả về các trang trong giới hạn rõ ràng.</p> <a class="cta" href="https://app.nstproxy.com/auth/login?utm_source=official&utm_medium=blog&utm_campaign=/crawl-entire-website-api/" target="_blank" rel="noopener">Bắt đầu một Cuộc Thu Thập</a> </td> <td class="visual-cell"> <div class="crawl-visual" aria-label="Sơ đồ một URL được chuyển đổi thành Markdown, JSON và một ảnh chụp màn hình"> <div class="url-bar"> <svg class="url-icon" viewBox="0 0 24 24" aria-hidden="true"><path d="M10.6 13.4a1 1 0 0 0 1.4 1.4l3.5-3.5a3 3 0 0 0-4.2-4.2L9.5 8.9" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"/><path d="M13.4 10.6a1 1 0 0 0-1.4-1.4l-3.5 3.5a3 3 0 0 0 4.2 4.2l1.8-1.8" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"/></svg> <span class="url-text">https://example.com/article</span> <span class="crawl-button">Thu thập</span> </div> <span class="stem"></span><span class="branch"></span><span class="branch-cap-left"></span><span class="branch-cap-right"></span> <span class="drop one"></span><span class="drop two"></span><span class="drop three"></span> <span class="node top"></span><span class="node mid"></span><span class="node left"></span><span class="node center"></span><span class="node right"></span> <div class="format-card markdown"> <div class="card-title"><span class="mini-icon">M↵</span>Markdown</div> <div class="line"></div><div class="line"></div><div class="line short"></div><div class="line tiny"></div> </div> <div class="format-card json"> <div class="card-title"><span class="mini-icon">{}</span>JSON</div> <div class="code-copy">{<br> "title":"...",<br> "url":"..."<br>}</div>
</div>
<div class="format-card screenshot">
<div class="card-title"><span class="mini-icon image-icon"></span>Ảnh chụp màn hình</div>
<div class="shot-window"><div class="shot-top"><span class="dots"></span></div><div class="shot-hero"></div><div class="shot-copy"></div></div>
</div>
</div>
</td>
</tr>
</table>
</section>
</main>
## Gửi toàn bộ Cuộc Thu Thập Trang Web
Gửi một công việc bất đồng bộ đến tuyến đường thu thập trang hiện tại. Một cuộc thăm dò không cần thông tin xác thực vào ngày 4 tháng 9 năm 2026 đã trả về HTTP 401, xác nhận rằng `/api/v1/crawl` đang hoạt động và yêu cầu xác thực. Yêu cầu dưới đây được căn chỉnh với tài liệu nhưng không thể hoàn thành mà không có khóa tài khoản.
```bash
The expected response envelope contains a task ID and a processing state. Do not copy an illustrative ID into later requests; always persist the exact identifier returned for your submission.
Request only the formats you will use. Markdown is appropriate for LLM and RAG ingestion, while HTML helps when your parser needs selectors or semantic markup. Multiple formats increase artifact volume and downstream handling.
Nstproxy’s [Crawl launch overview](https://www.nstproxy.com/blog/nstproxy-crawl-launch) describes the broader product workflow, including site discovery and LLM-ready outputs.
## Kiểm Soát Độ Sâu và Phạm Vi Thu Thập
Kiểm soát phạm vi bằng cách kết hợp độ sâu, số trang, mẫu đường dẫn và chuẩn hóa truy vấn. Không có thiết lập đơn lẻ nào là đủ.
### Chọn `maxDepth` theo kiến trúc thông tin
Độ sâu bằng không hoặc một hữu ích để xác minh hạt giống và điều hướng ngay lập tức. Một trung tâm tài liệu có thể cần hai hoặc ba bước nhảy để đến trang chủ đề. Độ sâu cao không đảm bảo bao quát nếu các trang quan trọng chỉ có thể truy cập thông qua sơ đồ trang web hoặc tìm kiếm bằng JavaScript.
Độ sâu cũng phụ thuộc vào hạt giống đã chọn. Bắt đầu từ trang chủ miền có thể làm lãng phí bước nhảy trong các trang marketing; bắt đầu từ `/docs/` cho cùng một ngân sách độ sâu nhiều liên quan hơn.
### Xem `maxPages` như một ngân sách cứng
Số lượng trang ngăn chặn một đồ thị liên kết rộng mở rộng vô hạn. Đặt một ngân sách thử nghiệm thấp hơn dự kiến của bạn, kiểm tra sự pha trộn URL được phát hiện, sau đó nâng cao nó chỉ khi các trang có giá trị thống trị.
Nếu công việc đạt `maxPages`, hoàn thành không có nghĩa là toàn bộ trang web dự kiến đã được bao quát. Nó có nghĩa là công việc bị giới hạn đã dừng lại ở trần số trang đã cấu hình.
### Sử dụng quy tắc bao gồm trước quy tắc loại trừ
Một danh sách cho phép như `*example.com/docs/*` dễ dàng hơn để suy luận hơn là hàng chục loại trừ. Thêm các loại trừ cho các cây con có giá trị thấp đã biết bên trong phần được phép.
Kiểm tra hành vi mẫu chống lại các URL mẫu trước khi khởi động. Một dấu gạch chéo hoặc mẫu máy chủ sai có thể âm thầm loại trừ mọi trang hoặc cho phép các tên miền phụ không liên quan.
### Chuẩn hóa cẩn thận các tham số truy vấn
Bật `ignoreQuery` khi các tham số không thay đổi nội dung có ý nghĩa, chẳng hạn như giá trị theo dõi và sắp xếp. Không loại bỏ chuỗi truy vấn khi chúng chọn một địa phương thực, biến thể sản phẩm, phiên bản tài liệu, hoặc trạng thái phân trang mà tập dữ liệu của bạn yêu cầu.
So sánh URL phải tuân theo các quy tắc phân tích nhất quán. <a href="https://url.spec.whatwg.org/" rel="nofollow noopener"><strong>chuẩn URL WHATWG</strong></a> tài liệu hành vi phân tích URL hiện đại; tránh phân tách chuỗi tạm thời cho máy chủ, đường dẫn và truy vấn.
## Thăm Dò Trạng Thái Thu Thập
Truy vấn trạng thái công việc với ID nhiệm vụ đã trả lại. Thay thế chỗ giữ chỗ dưới đây bằng định danh thực của bạn:
```bash
curl --request GET \
--url 'https://api.nstproxy.com/api/v1/crawl/YOUR_TASK_ID' \
--header 'x-api-key: YOUR_NSTPROXY_API_KEY'
Sử dụng phương pháp quay vòng lũy tiến có giới hạn với độ rung thay vì truy vấn liên tục. Dừng lại vào một trạng thái cuối cùng đã tài liệu hóa và thực thi một thời hạn tổng thể trong ứng dụng của bạn.
Kiểm tra thân phản hồi, không chỉ HTTP 200. Mô hình hiện tại của Nstproxy có thể báo cáo thông tin thất bại cấp nhiệm vụ bên trong một bao bì HTTP thành công. Ghi lại các số lượng total, completed, pending, và failed khi có mặt, cùng với các định danh yêu cầu và nhiệm vụ không bí mật.
Không tự động gửi lại toàn bộ trang web vì một vài trang thất bại. Lấy kết quả cấp trang, phân loại các thất bại, và thử lại chỉ các URL đủ điều kiện. Các thất bại xác thực, mục tiêu không cho phép, lỗi phân tích và thời gian chờ tạm thời cần những phản ứng khác nhau.
Lấy Từng Trang Đã Thu Thập
Lấy trang kết quả đầu tiên sau khi thu thập đạt trạng thái có thể sử dụng:
curl--request GET \--url'https://api.nstproxy.com/api/v1/crawl/YOUR_TASK_ID/pages?limit=50'\--header'x-api-key: YOUR_NSTPROXY_API_KEY'
Nếu phản hồi chứa nextCursor, yêu cầu trang tiếp theo và tiếp tục cho đến khi không còn con trỏ nào. Dừng lại sau phản hồi API đầu tiên là một lý do phổ biến khiến một lần thu thập hoàn thành chỉ chứa một phần của trang web.
Các tài liệu lớn có thể đến dưới dạng các mã tham chiếu như markdownRef hoặc htmlRef. Giải quyết các tham chiếu thông qua điểm cuối lưu trữ đã tài liệu hóa; không bao giờ tự xây dựng hoặc sửa đổi các mã lưu trữ cho riêng bạn.
Giữ lại ít nhất URL đã yêu cầu, URL cuối cùng, URL chuẩn khi có sẵn, trạng thái, tiêu đề, ngôn ngữ, băm nội dung, thời gian thu thập, và tham chiếu đầu ra. Giữ nhận dạng trang tách biệt khỏi các con trỏ phân trang, là trạng thái giao thông thay vì ID tài liệu.
Xác Minh Phạm Vi và Chất Lượng Dữ Liệu
Một lần thu thập thành công khi nó bao phủ được tập hợp yêu cầu với nội dung trang phù hợp, không chỉ đơn thuần khi trạng thái của nó cho biết đã hoàn thành. So sánh tập hợp kết quả với sơ đồ trang web của site, một cây điều hướng đã biết, hoặc một mẫu được gán nhãn thủ công.
Tính toán:
số lượng URL dự kiến được phát hiện;
số URL đã phát hiện đã được xử lý;
trang có nội dung có nghĩa;
các trang canonical duy nhất;
các bản sao và chuyển hướng;
lỗi theo lý do;
ngân sách URL tiêu thụ bởi mỗi họ đường dẫn.
Kiểm tra một mẫu phân tầng từ các đường dẫn nông và sâu. Kiểm tra các trang phụ thuộc vào JavaScript, bảng, khối mã, phân trang, các biến thể địa phương và các lỗi 404 mềm đã biết. Nếu ngân sách thu thập bị chi phối bởi các đường dẫn có giá trị thấp, hãy thắt chặt các quy tắc bao gồm trước khi tăng maxPages.
Trong bối cảnh xây dựng so với mua, so sánh bộ thu thập web mã nguồn mở của Nstproxy bao gồm các khung thu thập dữ liệu cung cấp nhiều kiểm soát cấp thấp hơn nhưng yêu cầu bạn phải vận hành lập lịch, kết xuất, lưu trữ, proxy và giám sát.
Xử Lý Lỗi và Làm Mới
Tách biệt lỗi gửi yêu cầu, lỗi tác vụ và lỗi chất lượng trang. Một yêu cầu không hợp lệ nên thất bại trước khi tạo công việc. Một công việc hợp lệ vẫn có thể chứa các thời gian chờ mục tiêu, từ chối truy cập, lỗi phân tích cú pháp, hoặc nội dung trống. Một trang về mặt kỹ thuật có thể thành công nhưng vẫn bị từ chối vì nó là một bản sao, địa phương sai, hoặc màn hình đồng ý.
Đối với các lần thu thập lặp lại, giữ lại các hash nội dung và so sánh các URL canonical. Xử lý lại các trang đã thay đổi, thêm các trang mới, và xóa các trang đã bị xóa khỏi chỉ mục hạ lưu. Đừng thêm mỗi lần chạy vô hạn định.
Sử dụng một nhịp làm mới chậm hơn cho các kho lưu trữ ổn định và nhanh hơn cho các nhật ký thay đổi, hàng tồn kho, hoặc chính sách. Tôn trọng các tiêu đề bộ nhớ đệm và mục tiêu dung lượng khi thích hợp. Nếu một nguồn cung cấp các nguồn cấp thay đổi hoặc dấu thời gian sửa đổi, hãy sử dụng chúng để giảm thiểu việc lấy không cần thiết.
Thu Thập Toàn Bộ Trang Web Một Cách Có Trách Nhiệm
Quyền truy cập toàn bộ trang web phải được ủy quyền và tỷ lệ thuận. Đừng sử dụng API để vượt qua xác thực, tường phí, quyền truy cập, hoặc các biện pháp bảo vệ kỹ thuật. Tránh các trang riêng tư và tối thiểu hóa dữ liệu cá nhân hoặc được quy định.
Khi chấp nhận hạt giống do người dùng cung cấp, ngăn chặn việc giả mạo yêu cầu từ phía máy chủ. Chặn localhost, mạng riêng và mạng liên kết cục bộ, các điểm cuối siêu dữ liệu đám mây, các sơ đồ không an toàn, các cổng đáng ngờ, và các chuyển hướng bên ngoài phạm vi được phê duyệt. Hướng dẫn OWASP SSRF cung cấp một mô hình mối đe dọa thực tế.
Giữ các khóa API trong kho lưu trữ bí mật được phê duyệt, không bao giờ trong nhật ký hoặc kiểm soát nguồn. ID tác vụ và tham chiếu lưu trữ có thể cung cấp quyền truy cập vào kết quả, vì vậy tránh tiết lộ chúng cho người dùng không có quyền truy cập.
Danh Sách Kiểm Tra Thu Thập Toàn Bộ Trang Web
Trước khi gửi, xác minh URL hạt giống, máy chủ được phép, các đường dẫn bao gồm, loại trừ, chính sách truy vấn, độ sâu tối đa, ngân sách trang, định dạng đầu ra và ủy quyền hợp pháp. Trong quá trình thực hiện công việc, theo dõi trạng thái với việc truy vấn có giới hạn. Sau khi hoàn thành, phân trang tất cả kết quả, giải quyết các đối tượng cần thiết, loại bỏ nội dung canonical, xem xét các lỗi, và so sánh độ bao phủ với một nguồn đã biết.
Giá Nstproxy Crawl nên được xem xét cùng với ngân sách trang và lưu lượng proxy cho quy trình công việc đã chọn. Bắt đầu với một thí điểm có giới hạn và đo lường chi phí mỗi trang duy nhất được chấp nhận.
Một Lần Gửi, Ranh Giới Rõ Ràng, Kết Quả Được Xác Minh
Một yêu cầu API có thể khởi động một quy trình làm việc trên toàn bộ trang web, nhưng việc thu thập tốt vẫn phụ thuộc vào ranh giới có chủ định và xác minh. maxDepth định hình việc duyệt liên kết, maxPages bảo vệ ngân sách, các mẫu URL tập trung vào việc khám phá, và việc truy xuất kết quả phân trang biến công việc thành một tập dữ liệu có thể sử dụng.
Sử dụng lần thu thập đại diện nhỏ nhất trước. Khi phân phối URL, chất lượng trang, xử lý lỗi, và kiểm tra độ bao phủ đúng, hãy từ từ nâng giới hạn.
Q: Tôi có thể thu thập toàn bộ một trang web với một yêu cầu API không?
Có. Một yêu cầu POST có thể gửi một cuộc thu thập dữ liệu trang web Nstproxy có giới hạn, nhưng quy trình làm việc bất đồng bộ vẫn yêu cầu kiểm tra trạng thái sau đó và thu hồi kết quả theo trang.
Q: Sự khác biệt giữa maxDepth và maxPages là gì?
maxDepth giới hạn số lần nhảy liên kết từ URL gốc, trong khi maxPages giới hạn tổng số trang mà công việc xử lý bất kể chiều rộng đồ thị.
Q: Làm thế nào tôi có thể ngăn một trình thu thập web theo dõi các URL vô hạn?
Kết hợp một giới hạn trang nghiêm ngặt với các mẫu đường dẫn cho phép, các loại trừ đã biết, chuẩn hóa truy vấn, loại bỏ trùng lặp canon và một cuộc thu thập thí điểm ngân sách thấp. Các lịch trình và đường dẫn điều hướng phân lớp xứng đáng nhận được các bài kiểm tra rõ ràng.
Q: Làm thế nào tôi biết liệu toàn bộ trang web đã được thu thập chưa?
So sánh các kết quả duy nhất đã chấp nhận với bản đồ trang web hoặc một danh sách URL đã biết, kiểm tra các lỗi và phạm vi đường dẫn, và đảm bảo rằng mọi trang kết quả theo trang đã được thu hồi.
Ivy Lin
Sep. 4th 2026
110M+ IP that voi ti le truy cap thanh cong 99.9%
Phan hoi trung binh ~0.5s cho tac vu dong thoi cao
Chi tu $0.1/GB
Truy cap ngay cac pool proxy residential, datacenter, IPv6 va ISP cao cap.