从特定点使用 BeautifulSoup 浏览 html

阿德诺斯

我正在使用以下代码在一段 HTML 代码中查找属性:

results = soup.findAll("svg", {"data-icon" : "times"})

这有效,它返回给我一个带有标签和属性的列表。但是,我还想从 HTML 代码的那部分移动到它下面的兄弟(如果这是正确的术语),并检索该段落的内容。请参见下面的示例。

<div class="382"><svg aria-hidden="true" data-icon="times".......</svg></div>
<div class="405"><p>Example</p></div>

我似乎无法弄清楚如何正确地做到这一点。搜索 div 类名不起作用,因为类名是随机的。

安德烈·凯塞利

您可以使用 CSS 选择器+

from bs4 import BeautifulSoup

html_doc = """
<div class="382"><svg aria-hidden="true" data-icon="times"> ... </svg></div>
<div class="405"><p>Example</p></div>
"""

soup = BeautifulSoup(html_doc, "html.parser")

div = soup.select_one('div:has(svg[data-icon="times"]) + div')
print(div.text)

印刷:

Example

或者没有 CSS 选择器:

div = soup.find("svg", attrs={"data-icon": "times"}).find_next("div")
print(div.text)

印刷:

Example

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用BeautifulSoup和Selenium抓取特定的html标签

使用Beautifulsoup从HTML解析JSON

直接从Python在浏览器(由BeautifulSoup生成)中启动HTML代码

尝试使用BeautifulSoup在HTML文档中查找特定表

使用beautifulsoup Python检查HTML中是否存在特定类

如何使用Beautifulsoup检索此html中的特定内容?

使用BeautifulSoup解析HTML结构

如何使用BeautifulSoup抓取HTML?

使用Python 3和BeautifulSoup进行特定的HTML解析

在Python中浏览Selenium并使用BeautifulSoup进行抓取

使用beautifulsoup抓取HTML网站ID的特定部分

使用BeautifulSoup将HTML插入html文件

如何使用BeautifulSoup从HTML提取特定模式

在Beautifulsoup中查找特定的HTML标签

使用beautifulsoup获取html标记内的特定字符串

python:无法使用BeautifulSoup从html获取特定数据

如何使用beautifulsoup从html标记的特定类中获取数据?

使用BeautifulSoup遍历HTML标签

使用 BeautifulSoup 获取 HTML 标签

使用 python BeautifulSoup 从 html 中提取特定内容

使用 BeautifulSoup 从 html 中抓取特定数据

使用 BeautifulSoup 抓取 HTML

使用 BeautifulSoup 抓取:从 HTML 页面抓取表格中的特定列

使用 BeautifulSoup 在 HTML 中查找特定标签

使用 BeautifulSoup 解析 HTML,select()

如何在 Python 中使用 BeautifulSoup 查找特定的 HTML 元素

使用 BeautifulSoup 从 HTML 中提取特定的 url

使用 Python 抓取 HTML 中的特定元素:BeautifulSoup4

使用 BeautifulSoup 从 html 获取特定文本