Добрый день. Есть необходимость в парсинге страницы яндекс.маркет (ничего криминального, правда - просто тестовое задание). Использую 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 и записывать в базу? Заранее спасибо за ответы.
А как же по-другому?
Браузеры ведь именно так и скачивают.
Скачивать по "src", не забыв абсолютизировать урл. Класть картинку куда нужно)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Читаю книгу о PHP и пишу код точно как в книге а результат разныйТочнее не работает
Как можно рисовать графики в PHP коде? Мне надо, чтобы выглядело примерно так:
Встречаю онлайн сервисы на PHP, которые позволяют указать ссылку на сайт и получить мобильное приложение с webview компонентом с предустановленным...