gpt4 book ai didi

python - 如何进一步过滤ResultSet的结果?

转载 作者:太空狗 更新时间:2023-10-30 02:46:03 25 4
gpt4 key购买 nike

我正在尝试获取 html 文档中所有 href 的列表。我正在使用 Beautiful Soap 来解析我的 html 文件。

print soup.body.find_all('a', attrs={'data-tag':'Homepage Library'})[0]

我得到的结果是:

<a class="m0 vl" data-tag="Homepage Library" href="/video?lang=pl&amp;format=lite&amp;v=AZpftzD9jVs" title="abc">
text
</a>

我只对 href=""部分感兴趣。所以我希望 ResultSet 只返回 href 的值。

我不确定如何扩展这个查询,所以它返回 href 部分。

最佳答案

使用attrs :

links = soup.body.find_all('a', attrs={'data-tag':'Homepage Library'})
print [link.attrs['href'] for link in links]

或者,通过将元素视为字典来直接从元素获取属性:

links = soup.body.find_all('a', attrs={'data-tag':'Homepage Library'})
print [link['href'] for link in links]

演示:

from bs4 import BeautifulSoup


page = """<body>
<a href="link1">text1</a>
<a href="link2">text2</a>
<a href="link3">text3</a>
<a href="link4">text4</a>
</body>"""

soup = BeautifulSoup(page)
links = soup.body.find_all('a')
print [link.attrs['href'] for link in links]

打印

['link1', 'link2', 'link3', 'link4']

希望对您有所帮助。

关于python - 如何进一步过滤ResultSet的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22260448/

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