是否有允许我使用 CSS 选择器查询 XHTML 文档的 PHP 类/库?如果我能以某种方式使用 CSS 选择器(jQuery 宠坏了我!),我需要抓取一些非常容易访问的数据页面。有任何想法吗?
Wilco
问问题
21143 次
8 回答
44
进一步谷歌搜索后(最初的结果不是很有帮助),似乎实际上有一个 Zend Framework 库,以及其他一些库:
于 2008-11-04T02:19:38.053 回答
9
XPath 是访问 XML(和 XHTML)节点的一种相当标准的方法,并且提供比 CSS 更高的精度。
于 2008-11-04T02:23:14.660 回答
6
另一个:http:
//querypath.org/
于 2010-06-20T00:58:42.047 回答
6
一个很棒的是 symfony 2 的一个组件,CssSelector\Parser Introduction 。它将 CSS 选择器转换为 XPath 表达式。看看 =)
于 2010-07-12T09:13:54.767 回答
3
我最终使用了PHP Query Lite,它非常简单并且拥有我所需要的一切。
于 2011-02-08T19:08:34.993 回答
2
对于文档解析,我使用DOM。如果您知道标签名称(在本例中为“div”),这可以很容易地解决您的问题:
$doc = new DOMDocument();
$doc->loadHTML($html);
$elements = $doc->getElementsByTagName("div");
foreach ($elements as $e){
if ($e->getAttribute("class")!="someclass") continue;
//its a div.classname
}
不确定 DOM 是否允许您一次获取文档的所有元素……您可能需要进行树遍历。
于 2008-11-19T06:22:36.973 回答
1
我基于 Mootools CSS 选择器引擎http://selectors.svn.exyks.org/编写了我的。它依赖于 simplexml 扩展能力(所以,它是只读的)
于 2009-07-28T14:27:38.403 回答