Поисковый робот, позволяющий указать глубину связанных доменов.

Я хочу загрузить каждый файл (через HTTP, HTTPS и FTP, HTML, PHP в том виде, в котором он был доставлен, JS, CSS, связанный PDF-файл, изображения) из домена, его поддоменов, каждого домена, связанного с ранее упомянутыми страницами и их поддоменами.

На случай, если неясно, чего именно я ожидаю, я привел пример, в котором мне нужно все, кроме контента с «unrelated.com». Я не смог найти сканер, который позволил бы мне это сделать.

пример

Я бы предпочел краулер, управляемый из командной строки Linux, который я могу запускать с моего VPS. Я мог бы жить с Linux + GUI, но у меня нет Windows, Android или какого-либо устройства/ОС Apple.

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

Было бы неплохо изменить ссылки в коде HTML (особенно те, которые указывают на разные домены), чтобы они указывали на мои локальные файлы, но это не обязательно.

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

Ответы (1)

Библиотека python Scrapy может делать именно то, что вы ищете:

  • Нет графического интерфейса. Вы можете работать в интерактивном режиме в оболочке python или ipython или написать сценарий.
  • Сохранить все данные с пройденных страниц
  • Ограничение глубины
  • Ограничение рейта , чтобы не кикнули или не забанили
  • Сканирование отдельных или связанных сайтов
  • Отфильтруйте сайты, которые вы не хотите сканировать

Scrapy и Python — это бесплатные межплатформенные инструменты с открытым исходным кодом.