@Tokenchik

Как найти все страницы на сайте?

Каким образом можно получить все страницы сайта чтобы их спарсить?
Допустим я использую curl и хочу получить весь контент с каждой страницы сайта, но если я не знаю адрес этой страницы то и никак не получу его.
Я видел различный инструментарий для *nix систем, но можно ли как то это сделать на чистом php?
Понятно что можно получить все ссылки на странице и ходить по ним, но бывают страницы и без ссылок на другие страницы, редко но бывают, как быть?
  • Вопрос задан
  • 5543 просмотра
Решения вопроса 2
  1. Парсите все доступные ссылки с сайта
  2. Затем данные с robots.txt и sitemap.xml (если есть)
  3. А затем поисковую выдачу site:адрес_сайта. У яндекса для этого есть xml.yandex.ru

п.2,3 можно обнаружить разные страницы на которые не проставлены ссылки со страниц сайта.
Ответ написан
Комментировать
@errogaht
PHP developer
1. docs.guzzlephp.org/en/latest
2. symfony.com/doc/current/components/dom_crawler.html
3. ИЛИ готовое решение https://github.com/spatie/crawler (они любят Laravel)
Если переход на страницу делается через JavaScript то единственный адекватный вариант на PHP - это парсить этот JS и добывать из него ссылку. Но проще забить на этои редкие ссылки на JS
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы