我正在尝试仅抓取包含jpg的第一个图像网址。当我只想要第一个jpg图片时,我当前拥有的代码将提取所有jpg图片。
images = soup.findAll('img', src=True)
image_src = [x['src'] for x in images]
image_src = [x for x in image_src if x.endswith('.jpg')]
print('Number of Images: ', len(images))
for image in image_src:
print(image)
答案 0 :(得分:1)
我将在for循环之后添加break
,然后它将在第一次迭代时中断:
image = soup.findAll('img', src=True)
image_src = [x['src'] for x in images]
image_src = [x for x in image_src if x.endswith('.jpg')]
print('Number of Images: ', len(images))
for image in image_src:
print(image)
break
答案 1 :(得分:0)
您可以使用它来刮取页面中图像的所有链接,我使用了Wiki页面
from bs4 import BeautifulSoup
import requests
content = requests.get('https://en.wikipedia.org/wiki/Blaise_Pascal').content
soup = BeautifulSoup(content, 'lxml')
image_tags = soup.findAll('img')
for image_tag in image_tags:
print(image_tag.get('src'))
第一个链接是页面中的第一张图像。
如果您在末尾添加break
,则将获得该网站的第一张图片。