我如何使用bs4刮擦第一个jpg图像

时间:2020-10-27 16:36:38

标签: python beautifulsoup

我正在尝试仅抓取包含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)

2 个答案:

答案 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,则将获得该网站的第一张图片。

相关问题