Введение Иногда возникают задачи, когда нужно реализовать обертку для работы с API какого-то сервиса для нужд заказчика и сделать такую задачу в принципе довольно просто, но у сервиса не всегда есть это API, или возникает мысль, что лучше бы его не было, поэтому придется парсить всю контентную страницу.
В качестве примера для этой статьи мы будем использовать выданный демо Форум XenForo и заранее созданная тема, из которой мы будем парсить типичные данные: название, время создания и текст самой темы, при этом парсинг будет осуществляться в авторизованном аккаунте форума.
Все остальные данные можно взять по аналогии.
Сам парсер мы реализуем как компонент для удобства использования в Yii2.
Что нам нужно
- Для парсинга страницы будет использоваться библиотека cURL, поэтому ее необходимо установить заранее.
- Так как Yii не будет сильно использоваться (для логирования процесса парсера, самого вызова парсера и рендеринга результата), только для того, чтобы показать производительность самого парсера.
Поэтому для таких задач вполне достаточно использовать Yii2 минимальный .
Давайте начнем
Давайте создадим компонент ParserXenforo. Поскольку события нам не нужны, вполне достаточно будет наследовать от Object.Нам нужно добавить свойства и константы для загрузки страницы.<Эphp namespace app\components; use Yii; use \yii\base\Object; class ParserXenforo extends Object { }
Сами свойства, хост, имя пользователя, пароль, curlOpt, будут заданы в настройках компонента.
<Эphp
namespace app\components;
use Yii;
use \yii\base\Object;
class ParserXenforo extends Object
{
Теги: #парсинг #xpath #Yii #yii2 #php #Yii
-
Важность Бытия
19 Oct, 24 -
Google Шагнул В Светлое Будущее
19 Oct, 24 -
В Погоне За Стартапом
19 Oct, 24 -
Sandisk Cruzer Flower 8 Гб
19 Oct, 24 -
Хабракаст В Эфире!
19 Oct, 24 -
Как Вы Относитесь К Hd-Видео?
19 Oct, 24