Я написал парсер сайта planetestate. При вытаскивании данных из "некоторых тегов", на "некоторых страницах", вместо нужного текста отображаются знаки вопросов. ВОТ одна из таких страниц. На ней, после парсинга, вместо "грн" отображается "???", также на этой странице вместо заголовка "Продається Житловий будинок" выводится "?????????? ???????? ???????" и почему-то не вытаскиваются данные из таблиц с детальной информацией, такой как "КІМНАТ 3 | ЗАГАЛЬНА 87.4 м2 | ЖИТЛОВА 51.4 м2". Кодировка сбита не только на символах кириллицы, но и на цифрах(например на цене и кредите). Таких объявлений (с плохой кодировкой) 221, всего спарсено 8873 объявления. Пример парсинга цены объекта и валюты в которой указана цена.
function parseAd($html) {
$dom = new DOMDocument();
$dom->encoding = "UTF-8";
@$dom->loadHTML($html);
$objInfo = $dom->getElementById("objInfo");
...
$strongObjs = $objBuy->getElementsByTagName("strong");
$em = $strongObjs->item(0)->getElementsByTagName("em");
if ($em->length > 0) { // currency
$currency = str_replace(chr(0xC2).chr(0xA0), " ", trim(utf8_decode($em->item(0)->textContent)));
$ads['currency'] = $currency.'.';
$strongObjs->item(0)->removeChild($em->item(0));
}
if ($strongObjs->length > 0) { // price
$price = str_replace(chr(0xC2).chr(0xA0), "", trim(utf8_decode($strongObjs->item(0)->textContent)));
$ads['price'] = $price;
}
...
return $ads;
}
Я предполагаю, что это может быть связано с локалями языковых настроек раскладки клавиатуры у пользователя публиковавшего объявление...
Как решить эту проблему?
Попробуйте так:
$dom->loadHTML(mb_convert_encoding($html,'HTML-ENTITIES','UTF-8'));
И далее по коду не используйте преобразования кодировок.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Привет всем! как сделать скроллер для категорий на cs cart?
Не думаю, что проблема в самом фреймворке, но проблема вот в чем:
Устанавливаю в проект laravel 51 админку sleeping-owl 2 (http://sleeping-owl
Нужно вывести в отдельный массив всех животных, чьи названия состоят из 2х слов