我正试图抓住php简单的html dom并且在div类方面遇到了一些问题。
例如,在newegg上说我想找到div class'skiplink的值(我刚在网站上选了一个随机类)。根据php简单的html dom文档找到here我应该使用。
$html = file_get_html('http://www.newegg.com');
print_r($ret = $html->find('.skiplink'));
现在它只是挂起并且似乎冻结了。我知道安装正在运行,因为以下代码可以正常工作。
foreach($html->find('a') as $element)
echo $element->href . '<br>';
基本上,我如何查看给定网站上的特定div类并找到该值?
是否有更简单的方法,例如使用phpQuery
答案 0 :(得分:0)
通过本网站上的简单搜索:How to get value from <div>value</div>?
但这就是他们所说的;
$doc = new DomDocument();
$doc->loadHTMLFile('http://www.results.com');
$thediv = $doc->getElementById('result');
echo $thediv->textContent;
或者你可以通过id抓取它的值来找到div子句的innerText值;
$div = $doc->getElementById('result');
if($div) {
echo $div->textContent;
}
答案 1 :(得分:0)
或者使用XPath代替,这段代码将输出src
//init DOMDocument
$dom = new DOMDocument();
//get the source from the URL
$html = file_get_contents("URL");
//load the html
dom->loadHTML($html);
//init XPath
$xpath = new DOMXPath($dom);
//fetch the src from the iframe within a class name
$iframe_src=$xpath->query('//*[@class="CLASSNAME"]/iframe//@src');
vardump($iframe_src);
要使用file_get_contents()
$options = array('http' => array('user_agent' => 'USERAGENT')); //you must specify a user agent
$context = stream_context_create($options);
$response = file_get_contents($iframe_src, false, $context);