gpt4 book ai didi

python - 基于文本获取href的美丽汤

转载 作者:行者123 更新时间:2023-12-04 15:14:42 27 4
gpt4 key购买 nike

假设有一个包含数百个链接的页面,每个链接在 a 标签中都有唯一的文本。如何指定一个标签的文本,然后从那里获取 href?例如,

for a in soup.findAll('a', href=True):
print(a['href'])

这会获取整个页面的所有 href,这有点矫枉过正。当我这样做时:
for a in soup.findAll('a', href=True text="Some Value"):
print(a['href'])

我无法获取 href 标签,因为它不再返回 Tag 对象,而是返回 Navigable 对象。知道如何实现我想要的吗?

最佳答案

而不是通过 text参数,你可以传递一个可调用的作为 name检查标签 name 的参数和 text :

for tag in soup.findAll(lambda tag: (tag.name == 'a'
and tag.text == 'Some Value'),
href=True):
print tag['href']

这样,返回的值是 Tag而不是 NavigableString .

另请注意,根据文档:

If you use text, then any values you give for name and the keyword arguments are ignored.



因此,即使您只想获得 NavigableString,您问题中的第二个示例也可能无法按预期工作。 .

关于python - 基于文本获取href的美丽汤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8754724/

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