@Tokenchik

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

Каким образом можно получить все страницы сайта чтобы их спарсить?
Допустим я использую curl и хочу получить весь контент с каждой страницы сайта, но если я не знаю адрес этой страницы то и никак не получу его.
Я видел различный инструментарий для *nix систем, но можно ли как то это сделать на чистом php?
Понятно что можно получить все ссылки на странице и ходить по ним, но бывают страницы и без ссылок на другие страницы, редко но бывают, как быть?
  • Вопрос задан
  • 5343 просмотра
Решения вопроса 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
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
11 мая 2024, в 00:19
1000 руб./за проект
10 мая 2024, в 23:51
30000 руб./за проект
10 мая 2024, в 23:33
2500 руб./за проект