我需要抓的网站有像
这样的结构<span class="address">
<p>...</p>
<h4>...</h4>
....
</span>
我需要的只是
中的html<span class="address"></span>
我使用的是谷歌的代码。
$html = new DOMDocument();
@$html->loadHtmlFile('www.site.com');
$xpath = new DOMXPath( $html );
$nodelist = $xpath->query( '//*[@id="main_center"]/div/div/div[2]/div/span[15]/p[6]' );
foreach ($nodelist as $n){
echo $n->nodeValue."\n";
}
它只给了我没有HTML的内容,我需要所有的HTML,以便我可以根据我的需要过滤它们。
请提供建议, 谢谢。
答案 0 :(得分:2)
尝试
<?php
$html = new DOMDocument();
@$html->loadHtmlFile('http://php.net/manual/de/domdocument.savehtml.php');
$xpath = new DOMXPath( $html );
$nodelist = $xpath->query( '//footer' );
foreach ($nodelist as $n){
echo $html->saveHtml($n)."\n";
}
见:http://php.net/manual/en/domdocument.savehtml.php 经过测试,效果很好。
你直接向浏览器外出吗? 然后看一下生成的源代码,html标签不会显示在brwoser中......
hth oli