拨开荷叶行,寻梦已然成。仙女莲花里,翩翩白鹭情。
IMG-LOGO
主页 文章列表 提取没有子文本的父文本;决议HTML

提取没有子文本的父文本;决议HTML

白鹭 - 2022-02-12 1959 0 0

我有一小部分汤标签元素,我使用Selenium&拉出BeautifulSoup

<footer>
    <p class="tags environment-tags">Environment:
      <span class="tag environment-tag">Desert</span>
    </p>
    <p class="source monster-source">Basic Rules
      <span class="page-number">, pg. 334</span>
    </p>
</footer>

我试图从 p 元素中获取文本,但每次我尝试它都会获取跨度。到目前为止,这是我尝试过的:

for p in Environment.findAll('p'):
    print(p.text)

我也尝试使用提取信息,.extract()但这似乎对我不起作用。

uj5u.com热心网友回复:

您可以使用.contents和访问第 0 个元素:

for tag in soup.find_all("p"):
    print(tag.contents[0].strip())

输出:

Environment:
Basic Rules

或者通过您的尝试,您可以通过以下方式洗掉<span>' 使用.extract()

for tag in soup.select("p span"):
    tag.extract()

print(soup.prettify())

输出:

<footer>
 <p class="tags environment-tags">
  Environment:
 </p>
 <p class="source monster-source">
  Basic Rules
 </p>
</footer>
标签:

0 评论

发表评论

您的电子邮件地址不会被公开。 必填的字段已做标记 *