Получить список URL-адресов с сайта [закрыто]


99

Я развертываю сайт-замену для клиента, но он не хочет, чтобы все его старые страницы заканчивались на 404. Сохранить старую структуру URL-адресов было невозможно, потому что это было ужасно.

Поэтому я пишу обработчик 404, который должен искать запрашиваемую старую страницу и выполнять постоянное перенаправление на новую страницу. Проблема в том, что мне нужен список всех URL-адресов старых страниц.

Я мог бы сделать это вручную, но мне было бы интересно, есть ли какие-либо приложения, которые предоставили бы мне список относительных (например: / page / path, а не http: /.../ page / path) URL-адресов, только что заданных для дома страница. Как паук, который не заботится о содержании, кроме как найти более глубокие страницы.


Ответы:


68

Я не хотел отвечать на свой вопрос, просто подумал о запуске генератора карты сайта. Первый, который я нашел, http://www.xml-sitemaps.com имеет приятный текстовый вывод. Идеально подходит для моих нужд.


Но есть ограничение в 5000 ссылок! .. :( Я ищу любой бесплатный скрипт генератора карты сайта php.
Дженсон М. Джон

14
Текущий лимит - 500 - становится меньше…
Оли Студхолм

У меня возникла ошибка: ::::::: Произошла ошибка. Произошла ошибка при доступе к указанному URL: 159.121.ssss. Убедитесь, что вы указали правильный URL-адрес веб-сайта, и повторно отправьте свой запрос.
JustJohn

К вашему сведению: если вы используете внешнюю маршрутизацию, вы не получите эти маршруты с помощью этого метода.
jasonleonhard

К сведению: если веб-сайт использует аутентификацию и / или авторизацию, вы также не получите все маршруты.
jasonleonhard

47

делать wget -r -l0 www.oldsite.com

find www.oldsite.comЯ полагаю, тогда просто откроются все URL-адреса.

В качестве альтернативы, просто обслуживайте эту настраиваемую ненайденную страницу при каждом запросе 404! То есть, если кто-то использовал неправильную ссылку, он получал бы страницу, сообщающую, что страница не найдена, и давал некоторые подсказки о содержании сайта.


16
Примечательно, что поскольку это возвращает список файлов , а не URL-адреса, это действительно работает только для сайтов, которые представляют собой коллекции статических файлов HTML. Если на сайте есть параметры URL-запроса, URL-адреса, перезаписанные на стороне сервера, или любые файлы include/ require/ etc. сборка страниц, это не сработает.
TJ Schuck

Я могу неправильно понять wget. Я думал, что «wget» предназначен для загрузки содержимого сайта?
Cosmic Hawk

@Doomsy - да, но когда вы загрузили весь контент, вы наверняка знаете все URL-адреса этого контента, и без загрузки нет способа узнать URL-адреса.
alamar

1
Учитывайте глубину по умолчанию. gnu.org/software/wget/manual/html_node/…
PJ Brunet

1
@alamar Да, есть "-r -l inf" для бесконечной рекурсии, но я рекомендую людям проверить документацию - так много интересных вариантов! Параметр «-m» будет зеркальным, и я собираюсь попробовать «-R.jpg, .jpeg, .gif, .png», который, как мне кажется, пропускает изображения.
PJ Brunet

24

Вот список генераторов карты сайта (из которого, очевидно, вы можете получить список URL-адресов с сайта): http://code.google.com/p/sitemap-generators/wiki/SitemapGenerators

Генераторы веб-файлов Sitemap

Ниже приведены ссылки на инструменты, которые создают или поддерживают файлы в формате XML Sitemaps, открытом стандарте, определенном на sitemaps.org и поддерживаемом такими поисковыми системами, как Ask, Google, Microsoft Live Search и Yahoo !. Файлы Sitemap обычно содержат набор URL-адресов на веб-сайте вместе с некоторыми метаданными для этих URL-адресов. Следующие инструменты обычно генерируют XML-файлы Sitemap и списки URL-адресов веб-типа (некоторые могут также поддерживать другие форматы).

Обратите внимание: Google не тестировал и не проверял функции или безопасность стороннего программного обеспечения, указанного на этом сайте. По всем вопросам, касающимся программного обеспечения, обращайтесь к автору программного обеспечения. Надеемся, вам понравятся эти инструменты!

Серверные программы

  • Enarion phpSitemapsNG (PHP)
  • Google Sitemap Generator (Linux / Windows, 32/64-разрядная версия, открытый исходный код)
  • Outil en PHP (французский, PHP)
  • Генератор карты сайта Perl (Perl)
  • Генератор карты сайта Python (Python)
  • Простые файлы Sitemap (PHP)
  • SiteMap XML Dynamic Sitemap Generator (PHP) $
  • Генератор карты сайта для OS / 2 (REXX-скрипт)
  • Генератор XML Sitemap (PHP) $

CMS и другие плагины:

  • ASP.NET - Sitemaps.Net
  • DotClear (испанский)
  • DotClear (2)
  • Drupal
  • Шаблоны электронной коммерции (PHP) $
  • Шаблоны электронной торговли (PHP или ASP) $
  • LifeType
  • Генератор файлов Sitemap MediaWiki
  • mnoGoSearch
  • OS Commerce
  • phpWebSite
  • Plone
  • RapidWeaver
  • Текстовый шаблон
  • vBulletin
  • Викка Вики (PHP)
  • WordPress

Загружаемые инструменты

  • GSiteCrawler (Windows)
  • GWebCrawler & Sitemap Creator (Windows)
  • G-Mapper (Windows)
  • Inspyder Sitemap Creator (Windows) $
  • IntelliMapper (Windows) $
  • Генератор карты сайта Microsys A1 (Windows) $
  • Rage Google Sitemap Automator $ (OS-X)
  • Screaming Frog SEO Spider и генератор файлов Sitemap (Windows / Mac) $
  • Карта сайта Pro (Windows) $
  • Sitemap Writer (Windows) $
  • Генератор карты сайта от DevIntelligence (Windows)
  • Sorrowmans Sitemap Tools (Windows)
  • TheSiteMapper (Windows) $
  • Vigos Gsitemap (Windows)
  • Visual SEO Studio (Windows)
  • WebDesignPros Sitemap Generator (приложение Java Webstart)
  • Weblight (Windows / Mac) $
  • WonderWebWare Sitemap Generator (Windows)

Онлайн-генераторы / Услуги

  • AuditMyPc.com Генератор карты сайта
  • AutoMapIt
  • Autositemap $
  • Enarion phpSitemapsNG
  • Бесплатный генератор карты сайта
  • Neuroticweb.com Генератор карты сайта
  • Генератор карты сайта ROR
  • Генератор карты сайта ScriptSocket
  • SeoUtility Sitemap Generator (итальянский)
  • SitemapDoc
  • Sitemapspal
  • Карта сайта
  • Smart-IT-Consulting Валидатор XML Google Sitemaps
  • Генератор XML Sitemap
  • Генератор XML-файлов Sitemap

CMS со встроенными генераторами Sitemap

  • Бетон5

Генераторы файлов Sitemap для Новостей Google Следующие плагины позволяют издателям обновлять файлы Sitemap для Новостей Google, вариант протокола sitemaps.org, который мы описываем в нашем Справочном центре. Помимо обычных свойств файлов Sitemap, файлы Sitemap для Новостей Google позволяют издателям описывать типы публикуемого контента, а также указывать уровни доступа для отдельных статей. Дополнительную информацию о Новостях Google можно найти в нашем Справочном центре и на справочных форумах.

  • Плагин WordPress Google News

Фрагменты кода / библиотеки

  • Сценарий ASP
  • Скрипт Emacs Lisp
  • Библиотека Java
  • Perl скрипт
  • Класс PHP
  • Скрипт генератора PHP

Если вы считаете, что инструмент должен быть добавлен или удален по уважительной причине, оставьте комментарий на справочном форуме для веб-мастеров.


Есть ли кто-нибудь, кто предоставляет печатный экран со всех URL-адресов?
ValRob

6

Лучшее, что я нашел, - это http://www.auditmypc.com/xml-sitemap.asp, который использует Java, не имеет ограничений на количество страниц и даже позволяет экспортировать результаты в виде необработанного списка URL-адресов.

Он также использует сеансы, поэтому, если вы используете CMS, убедитесь, что вы вышли из системы, прежде чем запускать сканирование.


3
звучало хорошо, но оно сломано.
NoobishPro

2

Итак, в идеальном мире у вас была бы спецификация для всех страниц вашего сайта. У вас также будет тестовая инфраструктура, которая сможет проверять все ваши страницы.

По-видимому, вы не в идеальном мире. Почему бы не сделать это ...?

  1. Создайте сопоставление между хорошо известными старыми URL-адресами и новыми. Перенаправить, когда вы видите старый URL. Я бы, возможно, подумал о том, чтобы представить "эта страница перемещена, ее новый URL-адрес XXX, вы будете перенаправлены в ближайшее время".

  2. Если у вас нет сопоставления, представьте сообщение «извините - эта страница перемещена. Вот ссылка на домашнюю страницу» и перенаправьте их, если хотите.

  3. Регистрируйте все перенаправления, особенно те, которые не отображаются. Со временем добавляйте сопоставления для важных страниц.



0

Напишите паука, который читает каждый HTML-код с диска и выводит каждый атрибут «href» элемента «a» (можно сделать с помощью парсера). Помните, какие ссылки принадлежат определенной странице (это обычная задача для структуры данных MultiMap). После этого вы можете создать файл сопоставления, который действует как вход для обработчика 404.


0

Я бы изучил любое количество онлайн-инструментов для создания карты сайта. Лично я использовал этот (на основе java) в прошлом, но если вы выполните поиск в Google по запросу "построитель карты сайта", я уверен, что вы найдете множество различных вариантов.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.