TL;DR
- Dọn dẹp HTML cho một LLM có nghĩa là giữ lại cấu trúc hữu ích trong khi loại bỏ các phần lề.
- Văn bản sẵn sàng cho LLM giữ lại tiêu đề, liên kết, mã và các bảng liên quan trong khi loại bỏ các yếu tố không liên quan trên trang.
onlyMainContentcó thể loại bỏ một thanh bên hoặc cảnh báo quan trọng; so sánh nó với HTML hoặc một ảnh chụp màn hình.- Giữ lại URL nguồn với mỗi khối dữ liệu được chấp nhận và coi văn bản trang đã lấy là đầu vào không đáng tin cậy.
- Nstdata Crawl xử lý việc r-rendering JavaScript và định tuyến proxy trong các yêu cầu quản lý; tài liệu của nó liệt kê sáu loại đầu ra: Markdown, HTML, dữ liệu thô, PDF, ảnh chụp màn hình và liên kết.
What Is LLM-Ready Text?
Chuyển đổi từ HTML sang văn bản sẵn sàng cho LLM chọn nội dung có ý nghĩa và loại bỏ điều hướng, quảng cáo, kịch bản, chân trang lặp lại và các điều khiển không liên quan. Nó nên giữ lại tiêu đề, đoạn văn, danh sách, mã, trích dẫn và các bảng liên quan. Loại bỏ mọi thẻ là quá thô bạo: nó có thể làm phẳng ranh giới phần và xóa liên kết mà một mô hình cần để trích dẫn. Đầu ra mong muốn là một tài liệu đã được xác thực, không chỉ đơn giản là ít ký tự hơn.
Nstdata Crawl có thể biến một URL hoặc một tập hợp các trang liên kết có giới hạn thành tài liệu cho một tác nhân AI, chỉ mục RAG, hoặc pipeline dữ liệu. Sử dụng quy tắc lĩnh vực và các kiểm tra chấp nhận của riêng bạn cho kết quả cụ thể: làm sạch HTML đã render thành văn bản có thể quy cho trong khi giữ lại cấu trúc cần thiết bởi một ứng dụng AI. Hướng dẫn Nstdata full-site crawling giải thích tùy chọn cấp độ trang.
Đối với nhiệm vụ hẹp hơn được đề cập ở đây, hướng dẫn Nstdata Markdown cleaning cung cấp ngữ cảnh hữu ích để chọn trang đại diện đầu tiên.
What Do You Need Before You Start?
Chuẩn bị một tập hợp đại diện: một trang tĩnh, một trang đã render JavaScript, và một trang có bảng hoặc mẫu mã nếu những cấu trúc đó quan trọng. Đối với mỗi trang, hãy viết một danh sách kiểm tra chấp nhận với các tiêu đề yêu cầu, đoạn văn mở đầu và kết thúc, liên kết, và bất kỳ văn bản cảnh báo nào. Giữ lại URL nguồn và thời gian tải với đầu ra đã được làm sạch. Sử dụng khóa API Nstdata cho tuyến đường quản lý, được lưu trữ phía máy chủ.
Tài liệu Crawl API sử dụng https://api.nstdata.io, tiêu đề x-api-key, và Content-Type: application/json. Chuẩn bị các trường này trước khi chạy một phương thức:
| Trường | Những gì cần cung cấp |
|---|---|
url | Một URL trang hoặc trang web HTTPS được phép |
formats | Các đầu ra yêu cầu, chẳng hạn như ["markdown"] hoặc ["html","screenshot"] |
onlyMainContent | true chỉ khi lựa chọn phần thân chính phù hợp với nhiệm vụ |
maxDepth, maxPages | Giới hạn rõ ràng cho một công việc trên toàn trang |
includeUrls, excludeUrls | Mẫu URL giữ cho việc khám phá nằm trong phạm vi |
timeout | Thời gian chờ cho một nhiệm vụ tính bằng mili giây khi mặc định không phù hợp |
Yêu cầu quản lý tiêu chuẩn không có bất kỳ trường Host, Port, Username, Password, hoặc Protocol proxy tách biệt nào. Kiểm tra trang giá cả Crawl hiện tại cho giới hạn tài khoản và phí trước khi chạy một công việc lớn.
Xem xét chính sách truy cập và phạm vi của mục tiêu. Giao thức Loại Trừ Robots định nghĩa cách các trình thu thập dữ liệu đọc các quy tắc robots; nó không cấp quyền sử dụng nội dung. Giữ thông tin xác thực và dữ liệu riêng tư ra khỏi các ví dụ và nhật ký chẩn đoán.
Hướng dẫn Nstdata RAG data-quality là một tài liệu kèm theo để xác định các kiểm tra chấp nhận trước khi bạn tự động hóa quy trình làm việc.
How Does HTML Cleaning Work?
Nstdata Crawl có thể render các trang JavaScript, chọn nội dung chính và trả về Markdown hoặc HTML đã làm sạch. Tùy chọn onlyMainContent rất hữu ích cho các trang bài viết hoặc tài liệu, nhưng nó có thể bỏ qua một cảnh báo thanh bên hoặc tùy chọn sản phẩm mà nhiệm vụ cần. Dữ liệu thô và ảnh chụp màn hình cung cấp bằng chứng so sánh. Quyền truy cập proxy quản lý được tích hợp vào Crawl, vì vậy yêu cầu API thông thường không yêu cầu thông tin xác thực proxy tách biệt.
Đối với một URL đã biết, một lần lấy một trang sẽ trả về một kết quả. Đối với một phần của trang, POST /api/v1/crawl phát hiện các trang liên kết theo đệ quy trong phạm vi độ sâu, số trang, và quy tắc URL được cung cấp. Tài liệu documentation liệt kê Markdown, HTML, dữ liệu thô, PDF, ảnh chụp màn hình, và liên kết như sáu loại đầu ra; trang sản phẩm cũng quảng bá JSON, nhưng một schema JSON đặc trưng cho miền vẫn cần phải ánh xạ trường rõ ràng. Giữ mỗi bản ghi được chấp nhận gắn với URL nguồn của nó và siêu dữ liệu đã trả về.
Kiểm tra một trang giàu JavaScript đại diện trước khi mở rộng. Trạng thái đã render có thể phụ thuộc vào thời gian, khu vực, sự đồng ý, hoặc một phiên đã đăng nhập. So sánh HTML đã trả về hoặc một ảnh chụp màn hình với trạng thái trang mong đợi; nếu chúng khác nhau, chỉ điều chỉnh các kiểm soát render đã được tài liệu hóa và chờ đợi.
How Do You Clean HTML for an LLM?
So sánh Markdown đã được làm sạch với HTML đã được trình bày trên một trang đại diện, sau đó tự động hóa các URL đã biết hoặc một phần giới hạn của trang web. Chấp nhận tài liệu chỉ khi các cấu trúc cần thiết cho nhiệm vụ AI còn lại.
Phương pháp 1: Làm sạch một trang trong Playground
Tốt nhất cho việc so sánh các chế độ nội dung trước khi viết mã.
Bước 1: Tải một URL đại diện
Mở Bảng điều khiển → Crawl Playground và nhập một URL đã được ủy quyền. [Ảnh chụp màn hình: URL và điều khiển trình bày.]
Bước 2: Yêu cầu hai chế độ xem
Chọn Markdown và HTML, và bật tùy chọn nội dung chính. Nếu trang tải văn bản sau khi thực thi JavaScript, hãy sử dụng các điều khiển chờ đã được tài liệu hóa có sẵn trong Playground.
Bước 3: So sánh các sự thiếu hụt
Kiểm tra đầu ra đã được làm sạch với nguồn. Nếu một bảng, khối mã, hoặc ghi chú pháp lý biến mất, hãy sử dụng HTML hoặc điều chỉnh lựa chọn thay vì chấp nhận một kết quả Markdown ngắn.
Phương pháp 2: Yêu cầu văn bản đã được làm sạch thông qua API
Tốt nhất cho một tác nhân hoặc dịch vụ nhập liệu RAG đã biết URL.
Bước 1: Đặt thông tin xác thực
Lưu NSTDATA_API_TOKEN trong một trình quản lý bí mật và gửi nó dưới dạng x-api-key.
Bước 2: Gửi yêu cầu
Sử dụng định dạng bắt đầu nhanh để thu thập dữ liệu được tài liệu hóa dưới đây. Tài liệu hiện tại chứa các nhãn không nhất quán trên các tuyến thu thập khác, vì vậy hãy so sánh tuyến đường với ví dụ được tạo ra từ Playground.
Đặt NSTDATA_API_TOKEN trong shell của bạn từ tài khoản Nstdata của bạn, sau đó chạy yêu cầu bắt đầu nhanh đã được tài liệu hóa. Tài liệu công khai gán một số tuyến đồng bộ và bất đồng bộ một cách không nhất quán; hãy so sánh yêu cầu được tạo ra từ Playground của tài khoản bạn trước khi sử dụng trong sản xuất.
curl --output crawl-response.json --request POST "https://api.nstdata.io/api/v1/crawl/scrape/submit-sync" \ --header "x-api-key: ${NSTDATA_API_TOKEN}" \ --header "Content-Type: application/json" \ --data '{"url":"https://example.com/","formats":["markdown","html"],"onlyMainContent":true}'
Phản hồi sẽ được lưu vào crawl-response.json. Kiểm tra các trường lồng nhau data.success, data.status, và data.data.metadata.statusCode trước khi sử dụng bất kỳ nội dung nào được trả về.
Bước 3: Kiểm tra chất lượng nội dung
Yêu cầu nhiệm vụ thành công, trạng thái trang hợp lý, một tiêu đề, các cụm từ mong đợi, và Markdown có ý nghĩa. Giữ lại HTML khi bạn cần gỡ lỗi cấu trúc bị thiếu.
Phương pháp 3: Làm sạch toàn bộ trang web đã giới hạn
Tốt nhất khi tập hợp tài liệu kéo dài qua các trang tài liệu liên kết.
Bước 1: Định nghĩa phạm vi
Đặt maxDepth, maxPages, và các quy tắc bao gồm/loại trừ URL trước khi bắt đầu.
Bước 2: Thu thập các trang
Gửi công việc thu thập trang web và lấy từng trang, theo từng trang. Đối xử với mỗi trang như một tài liệu riêng biệt với URL của riêng nó.
Đối với một công việc trang web, hãy thay thế máy chủ và đường dẫn ví dụ bằng phạm vi đã được phê duyệt của bạn, sau đó gửi một yêu cầu giới hạn:
curl --output crawl-submit.json --request POST "https://api.nstdata.io/api/v1/crawl" \ --header "x-api-key: ${NSTDATA_API_TOKEN}" \ --header "Content-Type: application/json" \ --data '{"url":"https://example.com/docs/","formats":["markdown"],"maxDepth":2,"maxPages":10,"includeUrls":["*example.com/docs/*"],"excludeUrls":["*example.com/admin/*"],"ignoreQuery":true}'
Sao chép data.id từ crawl-submit.json làm ID thu thập của bạn.
Bước 3: Chuẩn hóa cho AI
Loại bỏ các điều hướng lặp lại, duy trì các đường dẫn tiêu đề và chia nhỏ nội dung sau khi chấp nhận. Lưu trữ các URL nguồn với các khối và đối xử với văn bản trang như đầu vào không đáng tin cậy cho tác nhân.
Phương pháp 4: Làm sạch một tệp HTML tĩnh cục bộ
Tốt nhất cho HTML bạn đã có khi trình duyệt, proxy và phát hiện là không cần thiết.
Bước 1: Chọn một tệp đại diện
Lưu một trang HTML đã được ủy quyền dưới dạng page.html và ghi lại các tiêu đề và cảnh báo mà đầu ra AI phải bảo tồn.
Bước 2: Loại bỏ chrome trang rõ ràng
Cài đặt Beautiful Soup với python3 -m pip install beautifulsoup4, sau đó chạy:
from bs4 import BeautifulSoup soup = BeautifulSoup(open("page.html", encoding="utf-8").read(), "html.parser") main = soup.select_one("main") or soup.body if
Bước 3: Kiểm tra những gì đã bị xóa
So sánh clean.txt với nguồn. Phương pháp đơn giản này làm phẳng các liên kết và bảng và có thể loại bỏ một aside hữu ích; hãy chọn phương pháp so sánh Markdown/HTML được quản lý khi cấu trúc đó quan trọng.
Làm Thế Nào Để Bạn Xác Minh Đầu Ra?
Đánh giá chất lượng văn bản bằng việc bảo tồn, không chỉ nén. Giữ một danh sách tiêu đề dự kiến và kiểm tra xem đầu ra có giữ được các liên kết và lưu ý cần thiết hay không. Một trang có thể có thể đọc được trong khi thiếu đoạn ngoại lệ cuối. Tài liệu MDN DOMParser rất hữu ích khi ứng dụng của bạn thực hiện thêm việc chọn HTML sau khi Crawl. Hướng dẫn làm sạch Markdown Nstdata thảo luận về các kiểm tra độ trung thực chi tiết hơn.
Hướng dẫn tóm tắt trang web Nstdata kết nối kiểm tra cấp trang này với một quy trình dữ liệu hay AI phía hạ lưu.
Ghi lại URL nguồn, thời gian nộp, các định dạng yêu cầu, các tùy chọn không bí mật, ID nhiệm vụ khi có, trạng thái trang đã trả về, và lý do mỗi bản ghi đã vượt qua hoặc không vượt qua kiểm tra. Kiểm tra nội dung cũng như bao bì API. Nếu phản hồi chứa markdownRef, htmlRef, rawDataRef, screenshotRef, hoặc pdfRef, lấy token đó với GET /api/v1/crawl/storage/read?st={ref}.
Đối với quy trình này, tham khảo MDN DOMParser khi triển khai bộ phân tích cú pháp hoặc kiểm tra chấp nhận theo định dạng hạ lưu.
Khi truyền văn bản đã trích xuất đến một tác nhân, hãy coi hướng dẫn trang là tài liệu nguồn không đáng tin cậy. Hướng dẫn của OWASP về tiêm prompt giải thích rủi ro. Giữ lại URL nguồn để đầu ra AI có thể được kiểm tra.
Tại Sao Làm Sạch HTML Có Thể Mất Văn Bản Quan Trọng?
Làm sạch văn bản Html-to-llm có thể thất bại vì body trang không tải hoặc việc chọn đã chọn khu vực sai. Sử dụng bảng triệu chứng để xác định lớp thất bại trước khi thay đổi giới hạn hoặc thử lại.
| Triệu chứng | Nguyên nhân có khả năng | Hành động tiếp theo |
|---|---|---|
| Chỉ có menu xuất hiện | Body trang không tải hoặc việc chọn đã chọn khu vực sai. | Kiểm tra HTML đã được kết xuất và chờ phần tử mong muốn. |
| Văn bản quan trọng biến mất | Làm sạch nội dung chính đã loại trừ một sidebar hoặc ghi chú cần thiết. | Giữ lại HTML và điều chỉnh lựa chọn cho mẫu đó. |
| Mô hình làm theo hướng dẫn trang | Nội dung trang bên ngoài đã được coi là hướng dẫn tác nhân. | Tách biệt nội dung đã lấy từ hướng dẫn hệ thống và hạn chế quyền của công cụ. |
Tài liệu của Nstdata liệt kê các lỗi cấp nhiệm vụ như access_denied, timeout, parse_error, và internal_error. Một HTTP 200 bên ngoài vẫn có thể kèm theo một nhiệm vụ không thành công. Kiểm tra success, status, errorCode, và errorMessage bên trong phản hồi khi có. Thử lại chỉ các lỗi tạm thời trên các trang mà bạn có thể truy cập.
Phương Pháp Nào Là Phù Hợp Nhất?
Chọn Playground khi quyết định giữa Markdown và HTML, API một trang cho một tài liệu đã biết, và một cú crawl trang web cho một cơ sở tri thức liên kết. Sử dụng làm sạch HTML cục bộ cho các tệp tĩnh khi văn bản đã phẳng là đủ. Hướng dẫn tổng quan về việc crawl trang web của Nstdata cung cấp thông tin chi tiết hơn về lộ trình trang web.
Bạn Nên Làm Gì Sau Lần Chạy Thành Công Đầu Tiên?
Lưu cấu hình đã được chấp thuận và một bản ghi đầu ra có nguồn gốc, sau đó lặp lại trên một tập hợp nhỏ các mẫu trang khác nhau. Tăng quy mô chỉ sau khi những bản ghi đó vượt qua các kiểm tra chấp nhận tương tự.
Câu hỏi thường gặp: Bạn Cũng Nên Biết Gì Khác?
Q: Có đủ việc loại bỏ thẻ HTML không?
Không. Việc loại bỏ thẻ làm mất đi các ranh giới cấu trúc và liên kết; chọn nội dung chính và bảo tồn các ngữ nghĩa cần thiết.
Q: Tôi có nên giữ lại HTML sau khi chuyển đổi không?
Giữ lại khi bảng, siêu dữ liệu, hoặc việc gỡ lỗi quan trọng, tùy thuộc vào chính sách giữ lại của bạn.
Q: Việc kết xuất JavaScript có đảm bảo văn bản hoàn chỉnh không?
Không. Xác thực các trang động đại diện và cấu hình một thời gian chờ thích hợp cho độ sẵn sàng.
Q: Việc làm sạch văn bản HTML-to-LLM có yêu cầu cấu hình proxy riêng với Nstdata Crawl không?
Một yêu cầu Crawl được quản lý tiêu chuẩn không yêu cầu các trường Proxy Host, Port, Username, Password, hoặc Protocol riêng biệt. Xác nhận bất kỳ lựa chọn proxy tùy chọn nào và các khoản phí sử dụng liên quan trong tài khoản của bạn.
Q: HTTP 200 có chứng minh rằng kết quả làm sạch văn bản HTML-to-LLM là có thể sử dụng không?
Không. Kiểm tra kết quả nhiệm vụ lồng bên trong, trạng thái trang, các trường mong đợi, và độ trung thực của body trước khi sử dụng nó trong quy trình AI hoặc dữ liệu.





