Задать вопрос
@Tokenchik

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

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽