...html...
<link rel="image_src" href="image.jpg" />
....more html....
如何在Python中使用BeautifulSoup提取图片网址
答案 0 :(得分:2)
将find()
或find_all()
用于更多项目
for item in soup.find_all('link'):
print(item['href'])`
您还可以使用{href': True}
来确保该链接具有href
。然后{'rel': 'image_src'}
来确保它与图像链接。
for item in soup.find_all('link', {'href': True, 'rel': 'image_src'}):
print(item['href'])`
最小的工作示例
from bs4 import BeautifulSoup as BS
text = '''
<link rel="image_src" />
<link rel="image_src" href="image1.jpg" />
<link rel="sound_src" href="hello.mp3" />
<link rel="image_src" href="image2.jpg" />
'''
soup = BS(text, 'html.parser')
for item in soup.find_all('link', {'href': True, 'rel': "image_src"}):
print(item['href'])
答案 1 :(得分:1)
尝试一下:
links = soup.find_all("link", {"rel": True})
for link in links:
print(link.attrs["href"])
答案 2 :(得分:1)
如果soup
是BeautifulSoup
对象,则使用
hrefs = [link['href'] for link in soup.find_all('link') if link.get('href') is not None]
请注意,可能没有href
属性,在这种情况下,link['href']
将引发KeyError
。这就是为什么我使用link.get('href')
来检查是否存在。
如果您想用link
查找rel="image_src"
,请使用
hrefs = [link['href'] for link in soup.find_all('link', {'rel': 'image_src'}) if link.get('href') is not None]
答案 3 :(得分:0)
尝试使用CSS选择器。
soup.select_one('[rel="image_src"]')['href']
OR
soup.select_one('link[rel="image_src"]')['href']
用于多个项目。
for item in soup.select('[rel="image_src"]'):
print(item['href'])