Python 如何进一步筛选ResultSet的结果?

Python 如何进一步筛选ResultSet的结果?,python,beautifulsoup,Python,Beautifulsoup,我正在尝试获取html文档中所有HREF的列表。我正在使用漂亮的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="ab

我正在尝试获取html文档中所有HREF的列表。我正在使用漂亮的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=”“部分感兴趣。因此,我希望结果集只返回href的值

我不确定如何扩展此查询,因此它返回href部分

使用:

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

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


希望这能有所帮助。

这终于对我起作用了:

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

你可以参考这篇博文,并对此有很好的理解。
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']
soup.body.find_all('a', attrs={'data-tag':'Homepage Library'}).attrs["href"]
for link in soup.find_all('a', attrs={'data-tag':'Homepage Library'}):
    print(link.get('href'))