【发布时间】:2023-03-14 23:52:01
【问题描述】:
我正在使用爬虫来检索网络上某些页面的 HTML 内容。我目前将整个 HTML 存储在一个 PHP 变量中:
$string = "<PRE>".htmlspecialchars($crawler->results)."</PRE>\n";
我想要做的是选择所有“p”标签(例如)并将它们存储在一个数组中。这样做的正确方法是什么?
我使用 xpath 尝试了以下操作,但它没有显示任何内容(很可能是因为文档本身不是 XML,我只是复制粘贴了文档中给出的示例)。
$xml = new SimpleXMLElement ($string);
$result=$xml->xpath('/p');
while(list( , $node)=each($result)){
echo '/p: ' , $node, "\n";
}
希望在 PHP 方面有(很多)经验的人能够帮助我:D
【问题讨论】:
-
这可能会帮助你:simplehtmldom.sourceforge.net
-
非常感谢!这看起来是一个非常可靠和优雅的解决方案。将立即调查!
-
没问题。虽然并不完美,但它似乎大部分时间都有效。
-
它抓取整个文档,然后解析它。有关详细信息,请参阅完整文档:simplehtmldom.sourceforge.net/manual.htm
-
另外,请确保您在
find之后使用它。你需要echo我们做点什么
标签: php xpath tags store web-crawler