Nhận danh sách các URL từ một trang web [đã đóng]


94

Tôi đang triển khai một trang web thay thế cho một khách hàng nhưng họ không muốn tất cả các trang cũ của họ kết thúc sau 404s. Không thể giữ cấu trúc URL cũ vì nó thật gớm ghiếc.

Vì vậy, tôi đang viết một trình xử lý 404 sẽ tìm kiếm một trang cũ đang được yêu cầu và thực hiện chuyển hướng vĩnh viễn đến trang mới. Vấn đề là, tôi cần một danh sách tất cả các URL của trang cũ.

Tôi có thể làm điều này theo cách thủ công, nhưng tôi muốn quan tâm nếu có bất kỳ ứng dụng nào cung cấp cho tôi danh sách liên quan (ví dụ: / page / path, không phải http: /.../ page / path) URL vừa được cung cấp cho trang chủ trang. Giống như một con nhện nhưng không quan tâm đến nội dung ngoài việc tìm các trang sâu hơn.


Câu trả lời:


65

Tôi không có ý trả lời câu hỏi của chính mình nhưng tôi chỉ nghĩ về việc chạy một trình tạo sơ đồ trang web. Đầu tiên tôi thấy http://www.xml-sitemaps.com có một đầu ra văn bản đẹp. Hoàn hảo cho nhu cầu của tôi.


Nhưng có một giới hạn là 5000 liên kết .. :( Tôi đang tìm kịch bản phát bất kỳ php miễn phí sitemap!.
Jenson M John

13
Giới hạn hiện nay là 500 - nhận được nhỏ hơn ...
Oli Studholme

Nó đã xảy ra lỗi cho tôi: ::::::: Đã xảy ra lỗi Đã xảy ra lỗi khi truy cập URL được chỉ định: 159.121.ssss Vui lòng đảm bảo chỉ định URL trang web chính xác và gửi lại yêu cầu của bạn.
JustJohn

FYI: Nếu bạn đang sử dụng định tuyến giao diện người dùng, bạn sẽ không nhận được các tuyến đường đó từ phương pháp này.
jasonleonhard

FYI: nếu trang web sử dụng xác thực và / hoặc ủy quyền, bạn cũng sẽ không nhận được tất cả các tuyến.
jasonleonhard

46

làm wget -r -l0 www.oldsite.com

Sau đó, chỉ find www.oldsite.comsẽ tiết lộ tất cả các url, tôi tin.

Ngoài ra, chỉ cần cung cấp trang không tìm thấy tùy chỉnh đó theo mọi yêu cầu 404! Tức là nếu ai đó sử dụng liên kết sai, anh ta sẽ nhận được trang thông báo rằng trang đó không được tìm thấy và đưa ra một số gợi ý về nội dung của trang web.


15
Đáng chú ý, vì nó trả về một danh sách các tệp , không phải URL, điều này sẽ chỉ thực sự hoạt động đối với các trang web là tập hợp các tệp HTML tĩnh. Nếu trang web có tham số truy vấn URL, URL được viết lại phía máy chủ hoặc bất kỳ loại include/ require/ v.v. nào. tập hợp các trang, điều này sẽ không thực sự hiệu quả.
TJ Schuck

Tôi có thể hiểu lầm wget. Tôi nghĩ 'wget' là để tải xuống nội dung của trang web?
Cosmic Hawk

@Doomsy vâng, nhưng khi bạn đã tải xuống tất cả nội dung, bạn chắc chắn biết tất cả các URL của nội dung đó và không tải xuống thì không có cách nào để tìm ra URL.
alamar

1
Xem xét độ sâu mặc định. gnu.org/software/wget/manual/html_node/…
PJ Brunet

1
@alamar Có, có "-r -l inf" cho đệ quy vô hạn, nhưng tôi khuyên mọi người nên xem tài liệu - rất nhiều tùy chọn thú vị! Tùy chọn "-m" sẽ phản chiếu và tôi sẽ thử "-R.jpg, .jpeg, .gif, .png" mà tôi nghĩ sẽ bỏ qua hình ảnh.
PJ Brunet

24

Đây là danh sách các trình tạo sơ đồ trang web (từ đó rõ ràng là bạn có thể lấy danh sách URL từ một trang web): http://code.google.com/p/sitemap-generators/wiki/SitemapGenerators

Trình tạo Sơ đồ trang web

Sau đây là các liên kết đến các công cụ tạo hoặc duy trì các tệp ở định dạng Sơ đồ trang web XML, một tiêu chuẩn mở được xác định trên sitemaps.org và được hỗ trợ bởi các công cụ tìm kiếm như Ask, Google, Microsoft Live Search và Yahoo !. Các tệp sơ đồ trang web thường chứa một tập hợp các URL trên một trang web cùng với một số siêu dữ liệu cho các URL này. Các công cụ sau thường tạo Sơ đồ trang web XML "loại web" và các tệp danh sách URL (một số cũng có thể hỗ trợ các định dạng khác).

Xin Lưu ý: Google chưa kiểm tra hoặc xác minh các tính năng hoặc bảo mật của phần mềm bên thứ ba được liệt kê trên trang web này. Vui lòng gửi bất kỳ câu hỏi nào liên quan đến phần mềm cho tác giả của phần mềm. Chúng tôi hy vọng bạn thích những công cụ này!

Chương trình phía máy chủ

  • Enarion phpSitemapsNG (PHP)
  • Google Sitemap Generator (Linux / Windows, 32 / 64bit, mã nguồn mở)
  • Outil en PHP (tiếng Pháp, PHP)
  • Perl Sitemap Generator (Perl)
  • Trình tạo Sơ đồ trang web Python (Python)
  • Sơ đồ trang web đơn giản (PHP)
  • SiteMap XML Dynamic Sitemap Generator (PHP) $
  • Trình tạo sơ đồ trang web cho OS / 2 (REXX-script)
  • Trình tạo Sơ đồ trang web XML (PHP) $

CMS và các plugin khác:

  • ASP.NET - Sitemaps.Net
  • DotClear (tiếng Tây Ban Nha)
  • DotClear (2)
  • Drupal
  • Mẫu thương mại điện tử (PHP) $
  • Mẫu thương mại điện tử (PHP hoặc ASP) $
  • LifeType
  • Trình tạo Sơ đồ trang web MediaWiki
  • mnoGoSearch
  • OS Commerce
  • phpWebSite
  • Plone
  • RapidWeaver
  • Textpattern
  • vBulletin
  • Wikka Wiki (PHP)
  • WordPress

Công cụ có thể tải xuống

  • GSiteCrawler (Windows)
  • GWebCrawler & Sitemap Creator (Windows)
  • G-Mapper (Windows)
  • Inspyder Sitemap Creator (Windows) $
  • IntelliMapper (Windows) $
  • Trình tạo Sơ đồ trang web Microsys A1 (Windows) $
  • Rage Google Sitemap Automator $ (OS-X)
  • Screaming Frog SEO Spider và trình tạo Sơ đồ trang web (Windows / Mac) $
  • Sơ đồ trang web Pro (Windows) $
  • Sitemap Writer (Windows) $
  • Sitemap Generator của DevIntelligence (Windows)
  • Công cụ Sơ đồ trang web Sorrowmans (Windows)
  • TheSiteMapper (Windows) $
  • Vigos Gsitemap (Windows)
  • Visual SEO Studio (Windows)
  • Trình tạo Sơ đồ trang WebDesignPros (Ứng dụng Java Webstart)
  • Weblight (Windows / Mac) $
  • WonderWebWare Sitemap Generator (Windows)

Máy phát / Dịch vụ Trực tuyến

  • Trình tạo Sơ đồ trang web AuditMyPc.com
  • AutoMapIt
  • Bản đồ tự động $
  • Enarion phpSitemapsNG
  • Trình tạo Sơ đồ trang web Miễn phí
  • Trình tạo Sơ đồ trang web Neuroticweb.com
  • Trình tạo Sơ đồ trang web ROR
  • Trình tạo Sơ đồ trang web ScriptSocket
  • SeoUtility Sitemap Generator (Tiếng Ý)
  • Sơ đồ trang webDoc
  • Sơ đồ trang web
  • Sơ đồ trang web
  • Smart-IT-Consulting Trình xác thực XML Sơ đồ trang web của Google
  • Trình tạo Sơ đồ trang web XML
  • Trình tạo Sơ đồ trang web XML

CMS với trình tạo Sơ đồ trang web tích hợp

  • Bê tông5

Trình tạo Sơ đồ trang web Google Tin tức Các plugin sau cho phép nhà xuất bản cập nhật các tệp Sơ đồ trang web Google Tin tức, một biến thể của giao thức sitemaps.org mà chúng tôi mô tả trong Trung tâm trợ giúp của mình. Ngoài các thuộc tính thông thường của tệp Sơ đồ trang web, Sơ đồ trang web Google Tin tức cho phép nhà xuất bản mô tả các loại nội dung mà họ xuất bản, cùng với việc chỉ định cấp độ truy cập cho các bài viết riêng lẻ. Có thể tìm thấy thêm thông tin về Google Tin tức trong Trung tâm trợ giúp và Diễn đàn trợ giúp của chúng tôi.

  • Plugin WordPress Google Tin tức

Đoạn mã / Thư viện

  • Tập lệnh ASP
  • Tập lệnh Emacs Lisp
  • Thư viện Java
  • Tập lệnh Perl
  • Lớp PHP
  • Tập lệnh trình tạo PHP

Nếu bạn tin rằng một công cụ nên được thêm vào hoặc xóa vì lý do chính đáng, vui lòng để lại nhận xét trong Diễn đàn trợ giúp quản trị trang web.


Có ai cung cấp màn hình in từ tất cả url không?
ValRob

6

Tốt nhất tôi đã tìm thấy là http://www.auditmypc.com/xml-sitemap.asp sử dụng Java và không có giới hạn về trang và thậm chí cho phép bạn xuất kết quả dưới dạng danh sách URL thô.

Nó cũng sử dụng các phiên, vì vậy nếu bạn đang sử dụng CMS, hãy đảm bảo rằng bạn đã đăng xuất trước khi chạy thu thập thông tin.


3
nghe có vẻ tốt, nhưng nó bị hỏng.
NoobishPro

2

Vì vậy, trong một thế giới lý tưởng, bạn sẽ có một thông số kỹ thuật cho tất cả các trang trong trang web của mình. Bạn cũng sẽ có một cơ sở hạ tầng thử nghiệm có thể truy cập tất cả các trang của bạn để kiểm tra chúng.

Có lẽ bạn không ở trong một thế giới lý tưởng. Tại sao không làm điều này ...?

  1. Tạo ánh xạ giữa các URL cũ nổi tiếng và URL mới. Chuyển hướng khi bạn nhìn thấy một URL cũ. Tôi có thể xem xét việc trình bày "trang này đã chuyển đi, url mới của nó là XXX, bạn sẽ sớm được chuyển hướng".

  2. Nếu bạn không có ánh xạ, hãy đưa ra thông báo "xin lỗi - trang này đã chuyển đi. Đây là liên kết đến trang chủ" và chuyển hướng chúng nếu bạn muốn.

  3. Ghi nhật ký tất cả các chuyển hướng - đặc biệt là những chuyển hướng không có ánh xạ. Theo thời gian, hãy thêm ánh xạ cho các trang quan trọng.



1

Viết một trình thu thập dữ liệu đọc mọi html từ đĩa và xuất ra mọi thuộc tính "href" của phần tử "a" (có thể được thực hiện bằng trình phân tích cú pháp). Hãy ghi nhớ những liên kết nào thuộc về một trang nhất định (đây là nhiệm vụ phổ biến đối với cấu trúc dữ liệu MultiMap). Sau đó, bạn có thể tạo tệp ánh xạ đóng vai trò là đầu vào cho trình xử lý 404.


0

Tôi sẽ xem xét bất kỳ công cụ tạo sơ đồ trang web trực tuyến nào. Cá nhân tôi đã sử dụng cái này (dựa trên java) trong quá khứ, nhưng nếu bạn thực hiện tìm kiếm trên google cho "trình tạo sơ đồ trang web", tôi chắc chắn rằng bạn sẽ tìm thấy rất nhiều tùy chọn khác nhau.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.