php symfony/dom-crawler, парсинг картинок

244
05 марта 2018, 01:40

Добрый день. Есть необходимость в парсинге страницы яндекс.маркет (ничего криминального, правда - просто тестовое задание). Использую symfony/dom-crawler, html получаю через curl:

function getHTML(string $url): string
{
    $optionsArray = array(
                    CURLOPT_AUTOREFERER => true,
                    CURLOPT_COOKIESESSION => false,
                    CURLOPT_HTTPGET => true,
                    CURLOPT_RETURNTRANSFER => TRUE,
                    CURLOPT_FOLLOWLOCATION => true,
                    CURLOPT_BINARYTRANSFER => true,
                    );
$ch = curl_init($url);  
curl_setopt_array($ch, $optionsArray);
$result = curl_exec($ch);
curl_close($ch);
if($result === false) {
    throw new \InvalidArgumentException('Cant load HTML');
} else {
    return $result;
}}

Описание товара и прочего парсится как-то так:

$products = $crawler->filter(".n-snippet-card2")->each(function(Crawler $node, $i){
    $currentProduct['title'] = trim($node->filter(".n-snippet-card2__title a")->text());
    $currentProduct['price'] = trim($node->filter(".price")->text());
    $currentProduct['about'] = trim($node->filter(".n-snippet-card2__content")->text());
    return $currentProduct;
});

Появился вопрос о парсинге картинок: есть ли какой-нибудь более адекватный способ вытаскивать картинки, кроме как забирать url картинки из тэга "img", скачивать картинку по этому url и записывать в базу? Заранее спасибо за ответы.

Answer 1

А как же по-другому?

Браузеры ведь именно так и скачивают.

Скачивать по "src", не забыв абсолютизировать урл. Класть картинку куда нужно)

READ ALSO
PHP не могу понять где ошибка

PHP не могу понять где ошибка

Читаю книгу о PHP и пишу код точно как в книге а результат разныйТочнее не работает

181
Рисование графиков на PHP

Рисование графиков на PHP

Как можно рисовать графики в PHP коде? Мне надо, чтобы выглядело примерно так:

195
PHP проверка массива на пустоту

PHP проверка массива на пустоту

Здравствуйте, появилась паранойя

190
Конвертация сайта в приложение

Конвертация сайта в приложение

Встречаю онлайн сервисы на PHP, которые позволяют указать ссылку на сайт и получить мобильное приложение с webview компонентом с предустановленным...

175