我在 Python 中弄乱了lxml
,但似乎无法弄清楚如何使用 cssselect()
函数来获取类reddit-entry
的所有div
,因为它似乎不喜欢-
字符。没有-
的任何其他类名都可以正常工作。
这是lxml.cssselect中解析器中的一个错误。我接管了项目的维护并从lxml中提取了它。该错误已在新的 cssselect: http://packages.python.org/cssselect/中修复
lxml 2.4 将使用新的 cssselect,但在此之前,使用它的方式是:
from cssselect import HTMLTranslator
result = lxml_document.xpath(HTMLTranslator().css_to_xpath('div.reddit-entry'))
如果你通过 xpath 运行 cssselector 使用的代码,它确实可以工作......
obj.xpath("//div[contains(concat(' ', normalize-space(@class), ' '), ' reddit-entry ')]")