gpt4 book ai didi

Python Beautifulsoup 找到正确的标签

转载 作者:太空宇宙 更新时间:2023-11-03 17:50:44 25 4
gpt4 key购买 nike

我在尝试找出如何获取我需要的特定标签时遇到问题。

<div class="meaning"><span class="hinshi">[名]</span><span class="hinshi">(スル)</span></div>, <div class="meaning"><b>1</b> 今まで経験してきた仕事・身分・地位・学業などの事柄。履歴。「―を偽る」</div>,

现在我有了它,所以它可以找到所有的含义类,但我需要进一步缩小范围以获得我想要的。上面是一个例子。我只需要捕获

"<div class="meaning"><b>". 

并忽略所有“hinshi”类。

编辑:它似乎显示了数字,我猜就是这个数字,但我需要它旁边的文字。有什么想法吗?

最佳答案

您可以使用 find 的关键字参数来查找特定属性。方法。就您而言,您需要匹配 class_关键词。请参阅documentation关于class_关键字。

假设您想过滤不包含任何“hinshi”类子元素的元素,您可以尝试如下操作:

soup = BeautifulSoup(data)
potential_matches = soup.find_all(class_="meaning")

matches = []
for match in potential_matches:
bad_children = match.find_all(class_="hinshi")
if not bad_children:
matches.append(match)

return matches

如果您愿意,可以将其缩短一点,例如:

matches = soup.find_all(class_="meaning")
return [x for x in matches if not x.find_all(class_="hinshi")]

或者,取决于您的 Python 版本,即 2.x:

matches = soup.find_all(class_="meaning")
return filter(matches, lambda x: not x.find_all(class_="hinshi"))

编辑:如果您想查找示例中数字旁边的外来字符,您应该首先删除 b元素,然后使用 get_text方法。例如

# Assuming `element` is one of the matches from above
element.find('b').extract()
print(element.get_text())

关于Python Beautifulsoup 找到正确的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29135719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com