WPGrabber это парсер для WordPress, с помощью которого можно скачать и сохранить записи с абсолютно любого доступного веб-сайта. Обычно его применяют для парсинга каталога товаров или новостей. Плагин может полностью автоматизировать добавление контента на сайт. Можно настроить его автоматический запуск с определенной периодичностью, и плагин сам будет добавлять новые товары или записи, если они появятся на исходном сайте.
На сегодняшний день плагин давно перестал поддерживаться, а сайт разработчиков недоступен, но сам плагин прекрасно справляется со своими задачами.
Скачать WPGrabber бесплатно
Скачать проверенную версию вы можете отсюда совершенно бесплатно!
На данный момент эта версия устанавливается и работает на последней версии WordPress. У меня возникали незначительные баги при парсинге, например не обрезались изображения при включении данной функции, поэтому пришлось обрезать их с помощью стороннего софта. Но в целом плагин работает и помог справиться с задачей переноса тысяч товаров с одного сайта на другой.
Единственный минус WPGrabber это то, что плагин не умеет переходить по постраничке. Т.е. чтобы скормить ему новую порцию записей нужно изменить URL на 2 страницу, потом 3, 4… и т.д. С другой стороны если вам нужно получать только последние новые записи, то никаких проблем нет, видимо на это и рассчитывали разработчики этого плагина.
Установка и настройка
На установке я думаю не стоит заострять внимание, потому что WPGrabber устанавливается как и все другие плагины через меню добавить новый плагин → Загрузить плагин. После активации в левом меню админки появится раздел WPGrabber.
Перейдите в меню список лент. Здесь вы увидите несколько уже настроенных лент, которые вы можете протестировать, нажав на кнопку «Тест импорта».
Для создания новой ленты нажмите «Новая лента».
В интернет магазине https://onlyballs.com.ua/ вы можете купить качественные футбольные, баскетбольные и волейбольные мячи.
Перед вами откроется страница настроек. По началу все может показаться очень сложным, так как WPGrabber ищет контент с помощью регулярных выражений. На мой взгляд решение хорошее, но не очень надежное и довольно сложноватое. Думаю лучше было бы искать элементы через дерево DOM, как это реализовано в библиотеке phpQuery.
На вкладке основные укажите:
Наименование ленты — любое имя для новой ленты.
Тип ленты — HTML.
URL индексной страницы — страница исходного сайта, с которой надо парсить записи (например http://site.ru/catalog/).
Шаблон ссылок — здесь регулярное выражение для поиска ссылок на товары или новости (например /catalog/[\0-9a-zA-Zа-яёА-ЯЁ-]*/
). Об этом поговорим немного позже. С основами регулярных выражений вы можете ознакомиться в этой статье.
Шаблон заголовка — здесь так же регулярное выражение, но чаще всего используется такая конструкция, так как обычно заголовок находится на страницах в теге тайтл: <title>(.*?)</title>
Начальная точка полного текста — HTML-тег, с которого начинается часть с основным текстом (например <div class="content">
).
Конечная точка полного текста — HTML-тег, которым заканчивается часть с основным текстом (например </div><div class="footer">
).
Вот и все! Это основные настройки! Единственная сложность здесь может быть связана с созданием регулярного выражения для поиска ссылок. Я не буду углубляться в регулярные выражения, приведу лишь несколько распространенных примеров:
Пример 1:
Предположим, что ссылки новостей имеют вот такой вид: http://site.ru/news/novost-1/ Тогда сюда подойдет следующее регулярное выражение:
[\w\d_-]
— это любой текст на латинице со знаками тире (-) и нижнего подчеркивания (_). Такие ссылки довольно распространенное явление.
Пример 2:
Чуть посложнее. Например ссылки состоят еще и из русских букв. Например: http://site.ru/категория/товар/ Такое встречается реже, но все же бывает. Тогда здесь подойдет примерно следующее регулярное выражение:
[\0-9a-zA-Zа-яёА-ЯЁ-]
— любая буква на кириллице или латинице и цифры от 0 до 9. Знак звездочки (*) означает любое количество символов.
Теперь вы можете нажать кнопку «Тест импорта» и посмотреть результат.
У плагина еще достаточно большое количество настроек. Вы можете изменять их по своему усмотрению. Хочу обратить ваше внимание еще на настройки на вкладке «Обработка». Здесь вы можете включить или отключить теги, которые будут сохраняться в тексте товаров или записей, а так же заменять какие-то части текста.
Например, мне надо будет изменить в полном тексте каждой сохраненной записи заголовок «Стоимость» на «Цена»:
Это самый простой способ замены, но здесь вы можете использовать регулярные выражения или совсем стереть текст или часть HTML-кода оставив в шаблоне замены пустую строку.
Заключение
Настройка и использование WPGrabber довольно непростая задача. Многие предлагают эту услугу за дополнительную плату. Но вы можете разобраться и самостоятельно, ведь большая часть настройки сводится к написанию нескольких строк регулярных выражений, а с опытом у вас уже будут свои заготовки. Надеюсь, эта статья поможет вам в этом!