@shkiperoO

Как раскодировать HTML полученный из парсера?

Нужно спарсить сайт, в котором информация вытягивается через API и код который приходит в парсер закодирован слэшами, из за чего фильтры PhantomJS не могут бегать по элементам полученного кода.
Вот что получается на выдаче
<head></head><body>{"itemsLeft":1834,"html":"\r\n <!--prod-preview js-prod -->\r\n\r\n<div class="\"catalog-col\"">\r\n      <a href="\"/game/crusader-kings-ii-imperial-collection\"" class="\"catalog-card" js-prod\"="">\r\n                <span class="\"catalog-card__inner\"">\r\n          <img src="\"https://gabestore.ru/product/370x460_xJGhz-e1ruMWgPQLWxKzgpJbKr2SeHzz.jpg\"" class="\"catalog-card__img\"">\r\n                    <span class="\"catalog-card__bottom\"">\r\n                        <!-- <span class=\"catalog-card__price catalog-card__price_full\">\r\n              <span><font class=\"currencyPrice\" currency=\"250\">250</font><span class=\"rub\"><font class=\"currencySymbol\"><span class=\"rub\">P</span></font></span></span>\r\n            </span> -->\r\n            <span class="\"catalog-card__price\"">\r\n              <span><font class="\"currencyPrice\"">4395</font> <font class="\"currencySymbol\"">Р</font></span>\r\n

А вот код
public function gabestore()
    {
        $client = Client::getInstance();
        $client->getEngine()->setPath(dirname(__FILE__) . '/bin/phantomjs.exe');
        $client->isLazy();
        $request = $client->getMessageFactory()->createRequest('https://gabestore.ru/search/next?series=&ProductFilter[sortType]=desc&loaded=0', 'GET');
        $response = $client->getMessageFactory()->createResponse();
        $client->send($request, $response);
        $html = $response->getContent();
        $crawler = new \Symfony\Component\DomCrawler\Crawler($html);
        $stripped = $html;
        stripcslashes($stripped);
        $b = html_entity_decode($stripped);
        stripcslashes($b);
        dd($b);
//        $crawler->filter('.catalog-col')->each(function($str) {
//            $str->attr('href');
//
//            dd($str);
//        });

    }

Вот так код выглядит если его не пропускать через функции раскодировки
<head></head><body>{"itemsLeft":1834,"html":"\r\n <!--prod-preview js-prod -->\r\n\r\n<div class="\&quot;catalog-col\&quot;">\r\n
  • Вопрос задан
  • 211 просмотров
Решения вопроса 1
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
24 апр. 2024, в 13:10
400000 руб./за проект
24 апр. 2024, в 13:01
5000 руб./за проект
24 апр. 2024, в 13:00
3000 руб./за проект