【发布时间】:2019-08-17 17:04:41
【问题描述】:
我需要提取页面内的 json,更准确地说是在标签 data-react-props 内的 div 中
<div data-react-class="GamePageHeader" data-react-props="{"id":1274,"slug":[...]}
如何提取 react props 中的 json?我相信使用 HtmlDomParser 我无法做到这一点。
编辑:
感谢Prateek的回复我写了代码:
use Symfony\Component\DomCrawler\Crawler;
use Symfony\Component\CssSelector\CssSelectorConverter;
$html = file_get_html('https://www.igdb.com/games/simcity--2');
$crawler = new Crawler($html);
$data = $crawler->filter('div[data-react-class="GamePageHeader"]')->attr('data-react-props');
print $data;
但我总是得到错误
LOG.error: Expecting a DOMNodeList or DOMNode instance, an array, a string, or null, but got "simple_html_dom".
我在 Laravel 5.8 中安装了包 symfony/css-selector 和 symfony/dom-crawler
【问题讨论】:
-
请添加代码尝试。
-
嗨@aviya.developer,现在可以了吗?
-
是的,太好了。总是在问题中添加一些代码尝试。
标签: php web-scraping domcrawler symfony-css-selector