Python中的JQuery/CSS选择器?
我用Python解析HTML 解析之后,我在树中搜索一些元素 到目前为止,我还没有找到在树中查找元素的简单方法。XPath是可用的,但我更喜欢一种熟悉的方式 有没有一种方法可以在Python中使用语法类似于jquery/css选择器的选择器?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]”) [] 还有一种方法可以与结合
>>来自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>]