[РЕШЕНО] Как спарсить картинку модулем Feeds XPath HTML Parser?

Главные вкладки

Аватар пользователя meloff meloff 31 мая 2015 в 22:01

Допустим, хочу спарсить обложку фильма с кинопоиска. Есть image-поле "poster" в ноде и настроенный feeds, который нормально парсит все поля кроме картинки.

Использую xpath следующего вида: //*[id="photoBlock"]//a/img/src
Получаю такой ответ: src="http://st.kp.yandex.net/images/film_iphone/iphone360_797709.jpg"

Никак не могу избавиться от обертки src="".
Вопросы:
1. Как получить чистую ссылку без обертки?
2. Добавится ли чистая ссылка к image-полю или надо использовать дополнительные модули-костыли?

Комментарии

Аватар пользователя meloff meloff 1 июня 2015 в 1:28

Сделал другим путем.
Поставил обработчик спарсенных данных в виде модуля Feeds Tamper, к нему надстройку Feeds Tamper PHP.
xpath такой: //*[@ID="photoBlock"]//a/img
в Tamper на image-поле обработчик Execute php code со следующим кодом:

$field = preg_match('/<img.*src="(.*?)"/', $field, $matches);
return $matches;

Вроде все работает как надо, картинки парсятся и появляются в нужном поле. Да и еще, пока я в настройках image-поля не поставил дефолтную папку, импорт выдавал ошибку.

Аватар пользователя meloff meloff 1 июня 2015 в 1:59

Хм, все это работает пока у поля включен debug, когда он отключен картинка не парсится, надо разбираться Smile

Аватар пользователя meloff meloff 1 июня 2015 в 9:13

А, все нормально. Надо просто у image-поля в feeds включить «Select the queries you would like to return raw XML or HTML», видимо так и задумано.