当前位置:  开发笔记 > 编程语言 > 正文

在BeautifulSoup CSS选择器中处理冒号

如何解决《在BeautifulSoupCSS选择器中处理冒号》经验,为你挑选了0个好方法。

输入HTML:

apple
peach
cucumber

所需的输出:所有div元素正好在下面

.

我正在尝试div使用CSS选择器找到父级:

div[]

这会引发错误:

>>> soup.select('div[]')
Traceback (most recent call last):
  File "", line 1, in 
  File "/Users/user/.virtualenvs/so/lib/python2.7/site-packages/bs4/element.py", line 1400, in select
    'Only the following pseudo-classes are implemented: nth-of-type.')
NotImplementedError: Only the following pseudo-classes are implemented: nth-of-type.

看起来像BeautifulSoup尝试将冒号解释为伪类语法.

我试图遵循在CSS选择器中的元素ID中处理冒号时建议的建议,但它仍然会抛出错误:

>>> soup.select('div[]')
Traceback (most recent call last):
  File "", line 1, in 
  File "/Users/user/.virtualenvs/so/lib/python2.7/site-packages/bs4/element.py", line 1400, in select
    'Only the following pseudo-classes are implemented: nth-of-type.')
NotImplementedError: Only the following pseudo-classes are implemented: nth-of-type.
>>> soup.select('div[]')
Traceback (most recent call last):
  File "", line 1, in 
  File "/Users/user/.virtualenvs/so/lib/python2.7/site-packages/bs4/element.py", line 1426, in select
    'Unsupported or invalid CSS selector: "%s"' % token)
ValueError: Unsupported or invalid CSS selector: "div[

问题:

BeautifulSoupCSS选择器中使用/转义冒号的正确方法是什么?


请注意,我可以使用部分属性匹配来解决它:

soup.select("div[style$=flex]")

或者,用find_all():

soup.find_all("div", )

还要注意,我理解使用style定位元素远不是一个好的定位技术,但问题本身是通用的,提供的HTML只是一个例子.

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有