Как найти все url сайта

Нужно быть осторожным с этим ресурсом, не все страницы выдает.
На сайте, который сделан на Opencart , https://www.xml-sitemaps.com/ не все страницы нашел. Там их и не особо много было, порядка 90. Но отдельные, типа страницы регистрации, почему то он не нашел.

Написано

более двух лет назад

Is it possible to find all the pages and links on ANY given website? I’d like to enter a URL and produce a directory tree of all links from that site?

I’ve looked at HTTrack but that downloads the whole site and I simply need the directory tree.

Davidmh's user avatar

Davidmh

3,77718 silver badges35 bronze badges

asked Sep 17, 2009 at 14:43

Jonathan Lyon's user avatar

Jonathan LyonJonathan Lyon

3,8027 gold badges39 silver badges52 bronze badges

1

Check out linkchecker—it will crawl the site (while obeying robots.txt) and generate a report. From there, you can script up a solution for creating the directory tree.

gerzenstl's user avatar

answered Sep 17, 2009 at 14:51

Hank Gay's user avatar

10

If you have the developer console (JavaScript) in your browser, you can type this code in:

urls = document.querySelectorAll('a'); for (url in urls) console.log(urls[url].href);

Shortened:

n=$$('a');for(u in n)console.log(n[u].href)

answered Jan 5, 2015 at 22:03

ElectroBit's user avatar

ElectroBitElectroBit

1,15211 silver badges16 bronze badges

7

Another alternative might be

Array.from(document.querySelectorAll("a")).map(x => x.href)

With your $$( its even shorter

Array.from($$("a")).map(x => x.href)

answered Mar 1, 2020 at 19:00

Seb's user avatar

SebSeb

87812 silver badges20 bronze badges

1

If this is a programming question, then I would suggest you write your own regular expression to parse all the retrieved contents. Target tags are IMG and A for standard HTML. For JAVA,

final String openingTags = "(<a [^>]*href=['"]?|<img[^> ]* src=['"]?)";

this along with Pattern and Matcher classes should detect the beginning of the tags. Add LINK tag if you also want CSS.

However, it is not as easy as you may have intially thought. Many web pages are not well-formed. Extracting all the links programmatically that human being can «recognize» is really difficult if you need to take into account all the irregular expressions.

Good luck!

answered Sep 17, 2009 at 15:17

mizubasho's user avatar

mizubashomizubasho

911 silver badge7 bronze badges

1

function getalllinks($url) {
    $links = array();
    if ($fp = fopen($url, 'r')) {
        $content = '';
        while ($line = fread($fp, 1024)) {
            $content. = $line;
        }
    }
    $textLen = strlen($content);
    if ($textLen > 10) {
        $startPos = 0;
        $valid = true;
        while ($valid) {
            $spos = strpos($content, '<a ', $startPos);
            if ($spos < $startPos) $valid = false;
            $spos = strpos($content, 'href', $spos);
            $spos = strpos($content, '"', $spos) + 1;
            $epos = strpos($content, '"', $spos);
            $startPos = $epos;
            $link = substr($content, $spos, $epos - $spos);
            if (strpos($link, 'http://') !== false) $links[] = $link;
        }
    }
    return $links;
}

try this code….

Morgoth's user avatar

Morgoth

4,8558 gold badges39 silver badges66 bronze badges

answered Dec 3, 2014 at 7:42

user4318981's user avatar

3

Всем читающим и следящим за моим блогом — Добрый День. После Апа PR, несколько человек на блоге спрашивало: «Как проверить все страницы большого сайта на PR?». Ведь большинство онлайн сервисов позволяют проверять только по 50 страниц, что очень не удобно, когда сайт имеет сотни или тысячи страниц. Давайте сегодня попробуем разобраться в этой проблеме.
Значение Page Rank многие не до оценивают и очень зря, ведь цены на ссылки, размещённых на страницах имеющих PR, вырастают в 2-3 раза. Например в бирже Get Good Links, ссылка со страницы которая имеет PR 1 стоит 8-10 долларов, PR 2 — 25$ и так далее в геометрической прогрессии.

Мой способ проверки PR

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

Парсим страницы сайта

По идеи, можно получить список страниц сайта, с файла sitemap.xml, но это будет не полный список, потому что в этих файлах не указываются — рубрики, теги, постраничные урлы (https://cospi.ru/page/2/) и.т.п. Поэтому берём бесплатную программу stgrabber, вписываем url сайта, обязательно с наклонным слешем в конце и нажимаем Пуск.

Парсим страницы сайта

Ждём когда закончит работу программа и копируем список найденных ссылок в текстовый файл, который нам пригодиться для работу в другой программе. Я использую именно эту программу, потому, что у неё есть настройки парсинга (изъятия данных):

Настройка парсинга

В полученный список ссылок, попадают только нужные страницы. В отличии от других программ, для генерации Sitemap, где сканируются все найденные ссылки. Не попадают в список ссылок:

  • файлы (favicon например);
  • ссылки на сообщения (?replytocom=);
  • Системные страницы (?do=search, ?print и.т.п.).

Проверяем на PR

Для этого программу PaRaMeter, импортируем в неё ссылки сайта, которые мы сохранили в текстовом файлике:

Проверяем на PR

И запускаем проверку. Для наглядности я проверил 1500 страниц блога Димка:

Проверяем на PR весь сайт

На проверку 1.5 тысячи страниц понадобилось минуты 2-3 примерно. После того, когда программа закончит свою работу, нажимаем кнопочку PR и в таблице все значения от сортируются по убыванию, чтобы удобно было анализировать список. Все обработанные данные можно экспортировать в Excel, для последующего использования. На этом всё, спасибо за внимание.

UPDATE 8.11.2011

Программа PaRaMeter уже не определяет PR, пользуйтесь сервисом, который я описал в статье — Проверка всех страниц сайта на Page Rank.

Александр Филиппов

Контент-менеджер. Отдел разработки

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

Расскажем, как найти все страницы сайта и какие сервисы для этого нужны.

Зачем нужна такая информация

Список страниц полезен для того, чтобы:

  • Найти все страницы, которые не проиндексированы или выпали из индекса поисковой системы. Их нужно проанализировать. Возможно, причина в технических настройках (например, URL закрыт от роботов ПС) или в низком качестве документов. При необходимости их нужно доработать.
  • Такой список — хорошая помощь, когда нужно найти причину проблем. Например, при резком падении трафика.
  • Настроить перелинковку — проставить внутренние ссылки, правильно распределить ссылочный вес.
  • Избавиться от «мусорных» документов, ошибок, дублей.
  • Найти все страницы сайта с кодом ответа, отличным от 200 OK.

Почему для сбора данных одного инструмента мало

Выбор инструмента зависит от задачи. Если встал вопрос, как найти все проиндексированные документы или только те, на которые идет трафик, Вебмастера и Метрики будет достаточно. Если проводится технический аудит, подходит Screaming frog SEO spider.

Если нужен полный список страниц, удобнее воспользоваться сразу несколькими инструментами и объединить получившиеся списки. Если ограничиться только одним способом, перечень будет неполным. Например, если использовать только xml-карту, в списке не окажется «мусорных» файлов, сгенерированных из-за неправильных технических настроек. Яндекс.Вебмастер показывает только те документы, которые попали в поиск или выпали из него.

Пиксель Тулс

С помощью онлайн-инструмента «Анализ структуры проекта» можно узнать все страницы, проиндексированные поисковой системой Яндекс. Для анализа не нужен доступ к файлам сайта и Метрике. Можно получить список URL любого проекта, например, конкурента.

Введите домен в верхнюю строку и кликните на кнопку «Найти». Если выбрать опцию «Анализировать число документов только для разделов второго уровня», сервис подсчитает количество страниц в категориях и не будет определять объем подкатегорий.

Интерфейс Пиксель Тулс

Инструмент строит подробную наглядную структуру (иерархию), подсчитывает количество документов в разделах и процент от общего объема проекта.

Интерфейс Пиксель Тулс

Яндекс.Вебмастер

Откройте подраздел «Страницы в поиске» в разделе «Индексирование».

Интерфейс Яндекс.Вебмастера

Откройте вкладку «Все страницы» и скачайте таблицу в формате CSV или XLS.

Интерфейс Яндекс.Вебмастера

Чтобы получить перечень не попавших в индекс документов, нужно скачать таблицу в разделе «Исключенные страницы».

Яндекс.Метрика

Полный список страниц, на которые заходят пользователи, можно найти в Яндекс.Метрике. Для этого нужно выбрать большой период, например, год, и зайти в раздел «Адрес страницы».

Интерфейс Яндекс.Метрики

По умолчанию документы ранжируются по количеству просмотров.

Интерфейс Яндекс.Метрики

В список попадают не только проиндексированные, но и неканонические документы: пагинационные, с результатами поиска и другие.

 Xml-карта сайта

Обычно Xml-карта располагается по стандартному адресу site.ru/sitemap.xml, но может находиться и на другом URL. Иногда карта строится как список всех адресов, расположенных по датам индексации.

Интерфейс XML Sitemap

Карта может представлять собой набор файлов со ссылками. Чтобы получить полный список страниц, нужно открыть каждый файл и скопировать ссылки.

Интерфейс XML Sitemap

Интерфейс XML Sitemap

Google Analytics

В счетчике Google Analytics, так же, как и в метрике, можно посмотреть все адреса, на которые есть заходы.

Откройте отчет «Страницы и экраны». Кликните на «Путь к странице и класс экрана».

Интерфейс Google Analytics

Чтобы скачать результат, выберите опцию «Поделиться отчетом»-«Загрузить файл».

Интерфейс Google Analytics

Google Search Console

Еще один способ получить нужные данные — скачать их через консоль Google. В разделе «Индексирование» сформированы два перечня — проиндексированных и не проиндексированных документов. Здесь же показаны причины, почему документы не индексируются. Например, ошибка 404, переадресация, блокировка в файле robots.txt.

Интерфейс Google Search Console

Чтобы скачать отчет, кликните «Экспортировать» в правом верхнем углу и выберите удобный формат.

Сканирование через Screaming frog SEO spider

Screaming Frog SEO Spider («Паук», «Лягушка») – десктопная платная программа, один из самых популярных и продвинутых парсеров. Умеет без доступа к файлам и админпанели сканировать любые сайты.

  • Проверяет весь сайт или указанный раздел, файлы только основного домена или всех поддоменов.
  • Находит все страницы сайта, проверяет коды ответа сервера.
  • Составляет список битых ссылок.
  • Находит все страницы с очень длинными заголовками, тегами или URL-адресами.
  • Ищет изображения без тега alt.
  • Вычисляет дубли SEO-тегов или URL.
  • Проверяет орфографию.
  • Находит документы с директивами nofollow, noindex, canonical.
  • Проверяет файл robots.txt, микроразметку Schema.
  • Выявляет все страницы без контента или с минимумом контента.

Иногда лучше ограничить парсинг только некоторыми разделами или типами документов. Чтобы уменьшить время сканирования и объем работы, можно снять галочки с Изображений, CSS, JavaScript и SWF ресурсов.

Во вкладке Settings можно настроить парсинг относительно правил robots.txt.

Respect robots.txt — сканируются только те файлы, которые открыты в файле robots.txt.

Ignore robots.txt — парятся все файлы домена, независимо от того, открыты ли они для индексирования.

Ignore robots.txt but report status — сканируются все файлы, но отдельно выводится информация, проиндексирован документ или нет.

Интерфейс Screaming Frog SEO Spider

Чтобы запустить сканирование, введите адрес сайта, выберите функцию Spider, кликните на кнопку Start.

Интерфейс Screaming Frog SEO Spider

Итоговый список страниц можно скачать на компьютер в удобном формате.

Заключение

Существуют сервисы, которые формируют списки документов сайта. Выбор инструмента зависит от задачи. Если нужно просканировать свой проект, возможно, будет достаточно Google Analytics, Яндекс.Метрики и Яндекс.Вебмастера. Если планируется глубокий технический аудит, с задачей справится Screaming frog SEO spider. Он же подходит для парсинга конкурентов. Также для анализа чужого сайта можно воспользоваться Xml-картой и инструментом «Анализ структуры проекта» от Пиксель Тулс.

Регулярный технический анализ сайта – это единственный путь к прибыли и постоянному росту. Для его проведения можно использовать самые разные инструменты от краулинг-сервисов до стандартизованных операторов типа site. Иногда для дополнительной проверки, контроля результатов аудита или других целей в рамках технического анализа веб-мастеру требуется полный список страниц ресурса. Как получить список страниц сайт? Получить их можно разными способами, но в каждом случае есть свои оговорки.

Так, варианты «формирования» перечня URL для конкретного сайта:

  • Sitemap.xml. С этого инструмента начинают все оптимизаторы, что правильно. Поскольку карты, настроенные с ошибками, приводят к потере позиций в рейтинге поискового сервиса. С ними надо уметь работать всем.
  • Яндекс.Вебмастер – еще один помощник, который надо знать.
  • Поверхностное сканирование. Иногда используется для экспресс-анализа и аудита.
  • Загрузка вручную из заранее сформированного при создании и доработках сайта перечня.

Работа с XML-картами

При проверке маленьких сайтов (до 100 тысяч страниц) это самый удобный способ получить список адресов, в том числе для написания кода на поиск уязвимостей. Но при аудите крупных ресурсов в выборке отразятся далеко не все страницы. Причин расхождений может быть много – неправильная настройка индексации, программные ошибки (баги), когда сайт сам формирует десятки дополнительных URL, так называемые мусорные страницы, которые не закрыты через robots.txt.

Практика показывает, что в полученном перечне может недоставать до 80% страниц. Если использовать выборку с таким дефицитом информации как основу для внесения исправлений на сайт, можно потерять массу полезной информации и получить совершенно неверные приоритетные ошибки: хвататься за скорость загрузки, тогда как основной проблемой является индексация, или наоборот. У технического анализа части страниц погрешность может оказаться очень большой.

Консоль Яндекса

Выборка из поисковой консоли дает более высокую вероятность полноты итогового списка адресов страниц. Это при условии, что сайт технически выполнен без откровенных ошибок. Если ошибки есть, и портал большой, то риск получить неполный список растет.

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

Поверхностное сканирование

При поверхностном сканировании каждый URL анализируется на предмет присутствия на нем других адресов. Такой вариант дает самые высокие шансы получить полный перечень адресов. Но и по трудозатратам он первый. Рутинной работы с ним много. Надо:

  • загрузить HTML;
  • проверить загрузку (парсинг);
  • выделить ссылки;
  • переходить от одной страницы к другой по мере сканирования, чтобы не дублировать операции;
  • отсеивать метатеги и т. д.

Если ни на одном из этапов не допустить ошибок, результат будет точным. Но когда он будет?

Ручная загрузка списка страниц сайта

Если ресурс создан меньше месяца назад (и ему де-факто не нужен список страниц, потому что такие молодые сайты можно проверять и без него), ручная загрузка подходит. В остальных случаях (особенно после года активного развития) веб-мастер уже не может быть на 100% уверенным, что у него полный список страниц.

Чтобы проверить себя, можно посмотреть файлы (логи) роботов, сформированные по запросу. С большой вероятностью там уже будут десятки URL неизвестной природы.

Понравилась статья? Поделить с друзьями:
  • Как найти металлодетектор террария
  • Как исправить двойку за контрольную работу
  • Молярная масса фтора как нашли
  • Как составить письмо партнеру по бизнесу
  • Как найти знакомого человека в москве