Python中的JQuery/CSS选择器?

Python中的JQuery/CSS选择器?,python,css-selectors,html-parsing,Python,Css Selectors,Html Parsing,我用Python解析HTML 解析之后,我在树中搜索一些元素 到目前为止,我还没有找到在树中查找元素的简单方法。XPath是可用的,但我更喜欢一种熟悉的方式 有没有一种方法可以在Python中使用语法类似于jquery/css选择器的选择器?css选择器是否支持内置: >>来自bs4导入组 >>>从urllib2导入urlopen >>>汤=美汤(urlopen(“https://google.com")) >>>soup.select(“输入[name=q]”) [] 还有一种方法可以与结合

我用Python解析HTML

解析之后,我在树中搜索一些元素

到目前为止,我还没有找到在树中查找元素的简单方法。XPath是可用的,但我更喜欢一种熟悉的方式

有没有一种方法可以在Python中使用语法类似于jquery/css选择器的选择器?

css选择器是否支持内置:

>>来自bs4导入组
>>>从urllib2导入urlopen
>>>汤=美汤(urlopen(“https://google.com"))
>>>soup.select(“输入[name=q]”)
[]
还有一种方法可以与结合使用

请注意,某些-
lxml
+
csselect
支持更多CSS选择器:

对于了解CSS选择器语法的用户来说,这都是一种方便。 您可以使用漂亮的Soup API完成所有这些工作和if CSS 选择器是您所需要的全部,您也可以直接使用lxml:它是 速度更快,并且支持更多CSS选择器。但这让您 将简单的CSS选择器与漂亮的Soup API结合起来


有一个名为pyquery的库:

以下是文档中的一个示例:

>>> d = pq("<option value='1'><option value='2'>")
>>> d('option[value="1"]')
[<option>]
>d=pq(“”)
>>>d('option[value=“1”]”)
[]

I get:
AttributeError:'lxml.etree.\u Element'对象没有属性'cssselect'
I使用lxml版本3.3。3@guettli您能更新到3.4.4并重试吗?还有,你在执行什么代码?这是一个新问题:请看@guettli耶,
lxml.html
具有CSS选择功能。如果您正在解析html,您应该使用
lxml.html
而不是
lxml.etree
。我不知道这是否是新的,但现在我必须通过pip安装
cssselect
,以遵循此答案这是否回答了您的问题?
>>> d = pq("<option value='1'><option value='2'>")
>>> d('option[value="1"]')
[<option>]