我有一个HTML页面,其中包含多个链接,其中包含以下相同的参考:
<a href="1"><img src="myImage.png"></a>
<a href="1"><img src="myImage22.png"></a>
<a href="1"><img src="myImage33.png"></a>
当我请求页面返回具有href
1的所有标记(链接)时,它仅返回第一个标记。如何告诉代码不仅返回第一个链接的所有链接?
这是我的代码:
page = requests.get('http://www.myWebsite.com')
soup = BeautifulSoup(page.content, 'html.parser')
author_name = soup.find('a', href= '1')
答案 0 :(得分:1)
你可以这样做:
page = requests.get('http://www.myWebsite.com')
soup = BeautifulSoup(page.content, 'html.parser')
for link in soup.find_all('a', {'href':'1'}):
print(link.getText())
或者如果你想从中列出一个列表,你可以这样做:
author_names = [link.getText() for link in soup.find_all('a', {'href':'1'})]
您的解决方案的问题是find()
仅返回第一个结果,而find_all()
则返回所有结果。
您可以在Beautiful Soup here