Python 如何使用bs4只刮取第一张jpg图像

Python 如何使用bs4只刮取第一张jpg图像,python,beautifulsoup,Python,Beautifulsoup,我正试图抓取第一个包含jpg的图像url。当我只想要第一个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))

我正试图抓取第一个包含jpg的图像url。当我只想要第一个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)

我将在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

你可以用它来抓取页面中所有图像的链接,我用的是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'))

第一个链接是页面中的第一个图像。 如果在末尾添加一个
中断
,您将获得站点的第一张图像