我无法让css-selectors:query
工作。
完全不明白args是以什么顺序进入的。
http://quickdocs.org/css-selectors/
查看源代码:
(defun query (inp &optional (trees buildnode:*document*))
"Given a css selector, attempt to find the matching nodes in the passed in
dom-trees (defaults to the document)"
(%query inp trees))
我不知道inp
代表什么,但是通过消除过程假设它是指css选择器字符串。
(defun get-page (url)
"Get STP(DOM alternative) representation of page"
(chtml:parse
(drakma:http-request url)
(cxml-stp:make-builder)))
(css-selectors:query "a" (get-page "http://lisp.org/")) ; Doesn't work
(css-selectors:query (get-page "http://lisp.org/") "a") ; Worth a try
示例用法将大有帮助。
答案 0 :(得分:1)
编辑:快速加载css-selectors-stp
以使其与STP一起使用。
我联系了作者,文档更加清晰。对STP的支持应该已经合并并完成,但是作者为DOM编写了这个包,并且从未使用过STP。所以它应该适用于STP,但不会出于任何原因。
以下作品:
(defun get-page (url)
"Get DOM representation of page"
(chtml:parse
(drakma:http-request url)
(cxml-dom:make-dom-builder)))
(css-selectors:query "a" (get-page "http://lisp.org/")) ; Success!