1

есть задание :

  • приложение должно найти все URL-адреса (html-документы) на веб-сайте, сканируя все страницы (без использования sitemap.xml)
  • приложение должно возвращать, сколько URL-адресов было найдено в sitemap.xml и сколько URL-адресов было найдено при сканировании веб-сайта.

можете подсказать что стоить изучить чтобы понять как с этим работать ?

hekeemje
  • 352
  • 2
    Что означает "html-документы"? .html файлы на диске? Если да, то открывайте директорию, забирайте оттуда все файлы и далее берите из них данные любым удобным для вас способом. – EvgeniyZ Jan 31 '22 at 16:38
  • имелось ввиду найти список всех url адресов что есть на сайте , по типу .....com/faq , ....com/readme и всё что есть спасибо , скинули вроде то что надо , посмотрю разберусь – hekeemje Jan 31 '22 at 16:45
  • @hekeemje задание может быть невыполнимым из-за get запросов, например site.com/search.php?q=*** или site.com/forum.php?thread=***, т.к. вам нужно будет выдирать странички и ссылки с них рекурсивно - нужно будет ограничить глубину поиска. Хорошая программа-пример: Extreme Picture Finder, рекурсивно ходит и парсит странички, выдирая ссылки на изображения, настраивается глубина поиска, фильтр ссылок, и параметры контента. Попробуйте её поюзайте, загоните свои параметры поиска (или модифицируйте готовые), лучше поймёте поставленную задачу и принципы её решения. – Blackmeser Feb 01 '22 at 06:28

1 Answers1

3
  1. Необходимо спарсить код каждой страницы
  2. собрать все ссылки с кода
  3. откинуть ссылки ведущие на внешние ресурсы
  4. откинуть ссылки которые ты получал уже раньше и которые ты уже проверил
  5. перейти по каждой из ссылок и повторить все прошлые пункты

но вообще такие программы уже существуют их достаточно много. Не имеет смысла писать что-то свое.

гугл: "скачать все страницы сайта"

  • У меня есть подозрение, что у автора вопроса это учебное задание - в хорошем смысле. То есть, смысл не в том, чтобы получить ответ, а в том, чтобы научиться это делать. Авто вопроса, можете ли Вы подтвердить или опровергнуть это утверждение? – S.H. Jan 31 '22 at 17:02
  • @S.H. да, это тестовый таск для одной компании чтобы попасть на курсы к ним, то для меня главное не получить эти все html страницы , а разобраться как это сделать самому и всё что для этого надо – hekeemje Jan 31 '22 at 17:26