python - 如何使用 Beautiful soup 查找其中没有 sibling 的 P 标签

标签 python web-scraping beautifulsoup

一些 <p></p>标签有 <img>标记和 <h4>标签,但我只想要那些 <p>没有兄弟标签的标签只是内容。

 <p> <img src="any url"/> </p>     <p> hello world </p>

我要<p>没有 <img> 的标签标签使用 BeautifulSoup

最佳答案

这将获取 <p> 中的所有文本元素,但不会从 <p> 中的任何子元素中获取它.递归需要等于假,否则它将查看子元素。我添加了另一个测试用例供您展示:<p><h4>Heading</h4></p>

from bs4 import BeautifulSoup

html = "<p> <img src='any url'/> </p>   <p><h4>Heading</h4></p>  <p> hello world </p>"

soup = BeautifulSoup(html)

for element in soup.findAll('p'):
    print("".join(element.findAll(text=True, recursive=False)))

关于python - 如何使用 Beautiful soup 查找其中没有 sibling 的 P 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54397779/

相关文章:

python - 存在哪些模板系统适合编写服务创建配方

javascript - 删除 Javascript 中的所有反斜杠

python - 如何提取特定类名的文本,后跟特定文本?

python - 无法在 Python 中下载完整文件

带有异常空格的 Python BeautifulSoup 和 HTML

python - 使用 scikit-learn 和 pandas 编写对中断具有鲁棒性的结果表

python - 将列表转换为索引和范围 0-1.0

python - 将 Access 表读入数据框

python - 使用 beautifulsoup 隐藏元素进行网页抓取

python - beautifulsoup 解析时出现问题