2010-03-15 18 views

Trả lời

0

Bạn có thể trích xuất liên kết từ tệp html bằng cách sử dụng trình duyệt văn bản Lynx. Bash kịch bản xung quanh điều này không phải là khó khăn.

+0

Lynx có thể làm điều đó, nhưng nó không thực sự hỗ trợ nó. wget phù hợp hơn nhiều với mục đích. – reinierpost

+0

Làm thế nào để bạn có được wget để xuất một danh sách các liên kết trong một trang? – Quentin

+0

Đó là một ý tưởng thực sự tuyệt vời. Tại sao tôi không nghĩ về nó trước đó? –

2

Tôi muốn sử dụng checklink (một dự án W3C)

+0

Miễn là bạn cẩn thận thiết lập tác nhân người dùng và chấp nhận các tiêu đề (để tránh các mã lỗi không có thật từ các trình dò ​​tìm bot), điều này sẽ hoạt động. –

+0

Nó sẽ trông ok, nhưng nó chắc chắn không dành cho các dự án lớn như vậy - nó không có bất kỳ cách nào để chỉ liệt kê các liên kết bị hỏng, và đầu ra cho dự án của tôi là * thực sự * lớn. –

0

Thử webgrep công cụ dòng lệnh hoặc, nếu bạn cảm thấy thoải mái với Perl, module HTML::TagReader của cùng tác giả.

4

bạn có thể sử dụng wget, ví dụ:

wget -r --spider -o output.log http://somedomain.com 

ở dưới cùng của file output.log, nó sẽ cho biết wget đã tìm thấy liên kết bị hỏng. bạn có thể phân tích cú pháp đó bằng cách sử dụng awk/grep

+0

Một dòng lệnh ** wget ** thay thế để kiểm tra các liên kết bị hỏng có thể được tìm thấy trong [câu trả lời này] (http://stackoverflow.com/a/15029100/1497596). Cũng lưu ý rằng một nhận xét mà tôi để lại trên câu trả lời đó cung cấp một liên kết đến ** wget cho Windows **. – DavidRR

Các vấn đề liên quan