Если вам нужно выгрузить текстовый контент сайта с помощью Screaming Frog SEO Spider для дальнейшего анализа, самое простое решение – использовать Custom Javascript, в котором нужно с помощью XPath указать, из какого элемента должен быть извлечен контент, а какие блоки нужно проигнорировать.
Самый быстрый способ — Bulk Export (все страницы как текст) #
Этот метод идеален, если вам нужен очищенный текст страницы (без HTML-тегов). Screaming Frog может сохранить содержимое каждой страницы в отдельный текстовый файл, что удобно для последующего анализа.
- После завершения сканирования перейдите в меню Bulk Export.
- Выберите путь Web > All Page Text.
- Программа сохранит все страницы с кодом ответа 200 как отдельные
.txtфайлы в выбранную папку.
Так вы получите набор файлов, названных по URL страниц, с их текстовым содержимым. Это не единый CSV, но идеально подходит для глубокого анализа контента постранично.
Предупреждение: результаты стоит выгружать в специально созданную для этого папку, потому что для каждой страницы будет создан отдельный текстовый файл).
Самый гибкий способ — Custom Extraction (для CSV) #
Если вам принципиально нужна именно таблица в CSV с колонками URL, Title и Content, используйте настройку пользовательского извлечения. Screaming Frog будет знать, откуда брать контент на каждой странице.
Вам понадобится создать новое правило извлечения всего содержимого страницы. Вот пошаговая инструкция, как это сделать:
- Перейдите в меню Configuration -> Custom -> Extraction.
- Нажмите Add, чтобы создать новое правило.
- В поле Extractor Type оставьте XPath (или выберите CSS Path).
- В поле Extraction String введите //body. Это XPath-запрос, который выбирает весь контент внутри тега <body> на странице.
- Справа в выпадающем меню выберите Extract HTML Element (если вам нужен HTML) или Extract Text (если нужен только очищенный текст).
- Нажмите OK, а затем запустите сканирование заново.
- После завершения сканирования перейдите на вкладку Custom -> Extraction. Вы увидите новую колонку с извлечённым контентом для каждой страницы.
- Наконец, нажмите кнопку Export (в верхнем левом углу) и сохраните таблицу в формате CSV или Excel.
Теперь в вашей CSV-таблице будут все стандартные колонки (Address, Title 1 и т.д.), а также добавленная вами колонка с содержимым страницы.
Выборочный парсинг с помощью XPath и Custom JavaScript #
Этот метод предназначен для самых сложных задач, когда вам нужно выполнить вычисления, обратиться к API или извлечь данные, которые генерируются динамически. Функция доступна в версии 20.0 и выше.
Для этого нужно проделать следующее:
Определяем используемые на сайте шаблоны вёрстки. Как правило, для каждого раздела сайта и типа страниц используется собственный шаблон: главная страница, товарный каталог, карточка товара, статья и т.п. Ваша задача – понять, какие есть шаблоны вообще и определить в них зону основного контента. Для анализа чаще всего не нужны зоны навигации, header и footer. Их можно исключить из сканирования и сохранения в настройках (Content Area), где указать, какие теги, классы и id должны быть проигнорированы.

После этого нужно оценить зону основного контента в разных шаблонах: вы должны убедиться, что в этой области контента нет сквозных или служебных блоков (отзывы, формы обратной связи, блоки ссылок на похожие товары и т.п.).
Теперь можно определить XPath основного блока, из которого будет извлекаться информация, и XPath блоков, которые нужно исключить.
Подготовка перед извлечением: Если ваш сайт использует JavaScript для отображения контента, обязательно включите рендеринг JavaScript, иначе программа не увидит нужные данные. Это делается в меню Configuration -> Spider -> Rendering -> выберите JavaScript.
Переходим в настройках в CustomJS и добавляем следующий скрипт. Внимание! Вы должны добавить XPath с заданного сайта, исключив представленные для примера!
// Получаем основную область
let main = document.evaluate('/html/body/div[4]/div[6]', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
if (!main) return seoSpider.data('');
// Список блоков для удаления (ваши XPath)
let excludes = [
'//*[@id="content"]/div[2]/div/div/div/div/div[3]',
'//*[@id="main"]/div[5]/div/div[1]',
'//*[@id="main"]/div[5]/div/div[2]/div',
'//*[@id="main"]/div[5]/div/div[4]/div'
];
// Удаляем ненужные блоки
excludes.forEach(xpath => {
let nodes = document.evaluate(xpath, main, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
for (let i = 0; i < nodes.snapshotLength; i++) {
nodes.snapshotItem(i).remove();
}
});
// Получаем очищенный текст
let content = main.innerText;
// --- Удаляем пустые строки ---
let lines = content.split(/\r?\n/);
let nonEmptyLines = lines.filter(line => line.trim().length > 0);
let cleanedContent = nonEmptyLines.join('\n');
// --- Добавляем тайтл ---
let pageTitle = document.title || '';
// Формируем итоговую строку: сначала заголовок, потом два переноса, потом очищенный контент
let fullContent = pageTitle + '\n\n' + cleanedContent;
return seoSpider.data(fullContent);
Тестируем скрипт на каком-нибудь URL с заданного сайта, и если всё в порядке – запускаем парсинг.
По окончании вы сможете выгрузить таблицу (xslx) или csv для дальнейшей работы. Пример использования для визуализации векторных вложений на диаграмме рассеяния.
Почему JavaScript, а не XPath? #
XPath 1.0 не умеет «удалять» элементы, он только выбирает узлы. При извлечении контента только средствами XPath в SFSS вы получите набор текстовых фрагментов, а не один склеенный текст. Screaming Frog склеит их сам, но порядок может быть нарушен, если внутри удаляемых блоков были разделители (пробелы, переносы).
Если исключаемые блоки находятся не внутри основной области, этот XPath их всё равно проигнорирует (потому что мы ограничились областью (например, /html/body/div[4]/div[6]).
