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

99

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

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

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

Оли
источник
superuser.com/questions/329736/…
Чиро Сантилли 郝海东 冠状 病 六四 事件 法轮功

Ответы:

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. Регистрируйте все перенаправления, особенно те, которые не отображаются. Со временем добавляйте сопоставления для важных страниц.

Мартин Пек
источник
2

wget из окна Linux также может быть хорошим вариантом, поскольку есть переключатели на паука и изменение его вывода.

РЕДАКТИРОВАТЬ: wget также доступен в Windows: http://gnuwin32.sourceforge.net/packages/wget.htm

Томас Шульц
источник
0

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

Mork0075
источник
0

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

Эрик Петрелье
источник