Pobierz listę adresów URL z witryny [zamknięte]

98

Wdrażam witrynę zastępczą dla klienta, ale nie chce, aby wszystkie jego stare strony kończyły się błędem 404. Zachowanie starej struktury adresów URL nie było możliwe, ponieważ było ohydne.

Piszę więc program obsługi 404, który powinien szukać starej strony, której żądano, i wykonywać stałe przekierowanie do nowej strony. Problem w tym, że potrzebuję listy wszystkich starych adresów URL stron.

Mógłbym to zrobić ręcznie, ale byłbym zainteresowany, czy są jakieś aplikacje, które dostarczyłyby mi listę względnych (np: / page / path, a nie http: /.../ page / path) adresów URL, które podano właśnie jako adres domowy strona. Jak pająk, ale taki, który nie dba o treść poza szukaniem głębszych stron.

Oli
źródło
superuser.com/questions/329736/…
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功

Odpowiedzi:

68

Nie chciałem odpowiadać na własne pytanie, ale pomyślałem o uruchomieniu generatora map witryn. Pierwszy, jaki znalazłem, http://www.xml-sitemaps.com ma ładny tekst. Idealne na moje potrzeby.

Oli
źródło
Ale istnieje limit 5000 linków .. :( szukam Wszelki wolny php Sitemap skrypcie generującym!.
Jenson M John
14
Obecny limit to 500 -
maleje
Wystąpił błąd: ::::::: Wystąpił błąd Wystąpił błąd podczas uzyskiwania dostępu do określonego adresu URL: 159.121.ssss Upewnij się, że podałeś poprawny adres URL witryny i ponownie prześlij żądanie.
JustJohn
FYI: Jeśli używasz routingu frontendu, nie uzyskasz tych tras z tej metody.
jasonleonhard
FYI: jeśli witryna korzysta z uwierzytelniania i / lub autoryzacji, nie otrzymasz również wszystkich tras.
jasonleonhard
47

zrobić wget -r -l0 www.oldsite.com

Wtedy po prostu find www.oldsite.comujawniłbym wszystkie adresy URL, jak sądzę.

Alternatywnie, po prostu wyświetlaj tę niestandardową stronę nie znaleziono przy każdym żądaniu 404! To znaczy, jeśli ktoś użył niewłaściwego linku, dostałby stronę z informacją, że strona nie została znaleziona i podał kilka wskazówek dotyczących zawartości witryny.

alamar
źródło
16
Warto zauważyć, że ponieważ zwraca to listę plików , a nie adresów URL, zadziałałoby to tylko w przypadku witryn, które są zbiorami statycznych plików HTML. Jeśli witryna zawiera parametry zapytania URL, adresy URL przepisane po stronie serwera lub dowolny rodzaj include/ require/ itp. składanie stron, to naprawdę nie zadziała.
TJ Schuck
Mogę się źle zrozumieć, wget. Myślałem, że „wget” służy do pobierania zawartości witryny?
Cosmic Hawk
@Doomsy tak, ale po pobraniu całej zawartości na pewno znasz wszystkie adresy URL do tej zawartości, a bez pobierania nie ma sposobu, aby znaleźć adresy URL.
alamar
1
Rozważ domyślną głębokość. gnu.org/software/wget/manual/html_node/…
PJ Brunet
1
@alamar Tak, jest "-r -l inf" dla nieskończonej rekurencji, ale polecam ludziom zajrzenie do dokumentacji - tak wiele fajnych opcji! Opcja „-m” będzie dublowana i spróbuję „-R.jpg, .jpeg, .gif, .png”, co według mnie pomija obrazy.
PJ Brunet
24

Oto lista generatorów map witryn (z których oczywiście można uzyskać listę adresów URL ze strony): http://code.google.com/p/sitemap-generators/wiki/SitemapGenerators

Generatory map witryn sieci Web

Poniżej znajdują się łącza do narzędzi, które generują lub obsługują pliki w formacie XML Sitemaps, otwartym standardzie zdefiniowanym w witrynie sitemaps.org i obsługiwanym przez wyszukiwarki, takie jak Ask, Google, Microsoft Live Search i Yahoo !. Pliki map witryn zazwyczaj zawierają zbiór adresów URL w witrynie internetowej wraz z niektórymi metadanymi dotyczącymi tych adresów URL. Następujące narzędzia generalnie generują mapy witryny XML typu internetowego i pliki list adresów URL (niektóre mogą również obsługiwać inne formaty).

Uwaga: firma Google nie przetestowała ani nie zweryfikowała funkcji ani bezpieczeństwa oprogramowania innych firm wymienionych w tej witrynie. Wszelkie pytania dotyczące oprogramowania prosimy kierować do jego autora. Mamy nadzieję, że spodobają Ci się te narzędzia!

Programy po stronie serwera

  • Enarion phpSitemapsNG (PHP)
  • Generator map witryn Google (Linux / Windows, 32/64-bitowy, open-source)
  • Outil en PHP (francuski, PHP)
  • Generator map witryn w języku Perl (Perl)
  • Generator map witryn w języku Python (Python)
  • Proste mapy witryn (PHP)
  • SiteMap XML Dynamic Sitemap Generator (PHP) $
  • Generator map witryn dla OS / 2 (skrypt REXX)
  • Generator map witryn XML (PHP) $

CMS i inne wtyczki:

  • ASP.NET - Sitemaps.Net
  • DotClear (hiszpański)
  • DotClear (2)
  • Drupal
  • Szablony e-commerce (PHP) $
  • Szablony e-commerce (PHP lub ASP) $
  • LifeType
  • Generator mapy witryny MediaWiki
  • mnoGoSearch
  • OS Commerce
  • phpWebSite
  • Plone
  • RapidWeaver
  • Textpattern
  • vBulletin
  • Wikka Wiki (PHP)
  • WordPress

Narzędzia do pobrania

  • GSiteCrawler (Windows)
  • Kreator GWebCrawler i mapy witryny (Windows)
  • G-Mapper (Windows)
  • Inspyder Sitemap Creator (Windows) $
  • IntelliMapper (Windows) $
  • Generator map witryn Microsys A1 (Windows) $
  • Rage Google Sitemap Automator $ (OS-X)
  • Screaming Frog SEO Spider i generator map witryn (Windows / Mac) $
  • Mapa witryny Pro (Windows) $
  • Zapisujący mapę witryny (Windows) $
  • Generator map witryn firmy DevIntelligence (Windows)
  • Sorrowmans Sitemap Tools (Windows)
  • TheSiteMapper (Windows) $
  • Vigos Gsitemap (Windows)
  • Visual SEO Studio (Windows)
  • Generator map witryn WebDesignPros (aplikacja Java Webstart)
  • Weblight (Windows / Mac) $
  • Generator mapy witryny WonderWebWare (Windows)

Generatory / usługi online

  • AuditMyPc.com Generator mapy witryny
  • AutoMapIt
  • Autositemap $
  • Enarion phpSitemapsNG
  • Darmowy generator map witryn
  • Neuroticweb.com Generator mapy witryny
  • ROR Sitemap Generator
  • Generator mapy witryny ScriptSocket
  • Generator mapy witryny SeoUtility (włoski)
  • SitemapDoc
  • Mapa strony
  • Mapa strony
  • Smart-IT-Consulting Google Sitemaps XML Validator
  • Generator map witryn XML
  • Generator map witryn XML

CMS ze zintegrowanymi generatorami map witryn

  • Beton 5

Generatory map witryn Google News Poniższe wtyczki umożliwiają wydawcom aktualizowanie plików map witryn Google News, czyli odmiany protokołu sitemaps.org, który opisujemy w naszym Centrum pomocy. Oprócz zwykłych właściwości plików map witryn, mapy witryn Google News umożliwiają wydawcom opisywanie typów publikowanych przez nich treści wraz z określaniem poziomów dostępu do poszczególnych artykułów. Więcej informacji o Google News można znaleźć w naszym Centrum pomocy i na forach pomocy.

  • Wtyczka WordPress Google News

Fragmenty kodu / biblioteki

  • Skrypt ASP
  • Skrypt Emacs Lisp
  • Biblioteka Java
  • Skrypt Perla
  • Klasa PHP
  • Skrypt generatora PHP

Jeśli uważasz, że narzędzie powinno zostać dodane lub usunięte z uzasadnionego powodu, zostaw komentarz na Forum pomocy dla webmasterów.

Franck Dernoncourt
źródło
Czy jest ktoś, kto zapewnia wydruk ze wszystkich adresów URL?
ValRob
6

Najlepsze, co znalazłem, to http://www.auditmypc.com/xml-sitemap.asp, który wykorzystuje Javę i nie ma ograniczeń co do stron, a nawet pozwala eksportować wyniki jako surową listę adresów URL.

Używa również sesji, więc jeśli korzystasz z CMS, upewnij się, że jesteś wylogowany przed uruchomieniem indeksowania.

Collins
źródło
3
brzmiało dobrze, ale jest zepsute.
NoobishPro
2

Zatem w idealnym świecie miałbyś specyfikację dla wszystkich stron w swojej witrynie. Miałbyś również infrastrukturę testową, która mogłaby trafić na wszystkie strony, aby je przetestować.

Prawdopodobnie nie jesteś w idealnym świecie. Dlaczego nie zrobić tego ...?

  1. Utwórz mapowanie między dobrze znanymi starymi adresami URL a nowymi. Przekieruj, gdy zobaczysz stary adres URL. Prawdopodobnie rozważę przedstawienie „ta strona została przeniesiona, jej nowy adres URL to XXX, wkrótce zostaniesz przekierowany”.

  2. Jeśli nie masz mapowania, wyświetl wiadomość „przepraszam - ta strona została przeniesiona. Oto link do strony głównej” i przekieruj je, jeśli chcesz.

  3. Rejestruj wszystkie przekierowania - zwłaszcza te bez mapowania. Z biegiem czasu dodawaj mapowania ważnych stron.

Martin Peck
źródło
2

wget z Linux-a może być również dobrą opcją, ponieważ są przełączniki na pająka i zmieniają jego wyjście.

EDYCJA: wget jest również dostępny w systemie Windows: http://gnuwin32.sourceforge.net/packages/wget.htm

Thomas Schultz
źródło
0

Napisz pająka, który czyta każdy kod HTML z dysku i wyświetla każdy atrybut „href” elementu „a” (można to zrobić za pomocą parsera). Należy pamiętać, które łącza należą do określonej strony (jest to typowe zadanie w przypadku infrastruktury danych MultiMap). Następnie możesz utworzyć plik odwzorowania, który będzie działał jako dane wejściowe dla programu obsługi 404.

Mork0075
źródło
0

Przyjrzałbym się dowolnej liczbie narzędzi do generowania map witryn online. Osobiście korzystałem z tego (opartego na Javie) w przeszłości, ale jeśli wyszukasz w Google hasło „narzędzie do tworzenia map witryn”, na pewno znajdziesz wiele różnych opcji.

Eric Petroelje
źródło