@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
  • Вопрос задан
  • 213 просмотров
Решения вопроса 1
SilenceOfWinter
@SilenceOfWinter Куратор тега PHP
та еще зажигалка...
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы