Python 使用BeautifulSoup从网页的特定部分抓取所有图像

Python 使用BeautifulSoup从网页的特定部分抓取所有图像,python,web-scraping,beautifulsoup,Python,Web Scraping,Beautifulsoup,对象“gallery”是我得到的-我如何能够只选择图像URL而不用走很长的路 目前,我正在做以下工作 from bs4 import BeautifulSoup from PIL import Image import requests gallery = soup.findAll(class_='gallery') img_0 = gallery[0].find('img') img_1 = gallery[1].find('img') ... img_x = gallery[x].fin

对象“gallery”是我得到的-我如何能够只选择图像URL而不用走很长的路

目前,我正在做以下工作

from bs4 import BeautifulSoup
from PIL import Image
import requests


gallery = soup.findAll(class_='gallery')
img_0 = gallery[0].find('img')
img_1 = gallery[1].find('img')
...
img_x = gallery[x].find('img')

img_url_0 = img_0['src']
img_url_1 = img_1['src']
...
img_url_x = img_x['src']

gallery_img_0 = Image.open(requests.get(img_url_0, stream = True).raw)
gallery_img_1 = Image.open(requests.get(img_url_1, stream = True).raw)
...
gallery_img_x = Image.open(requests.get(img_url_x, stream = True).raw)

其中,x是图库的长度

也许是一个循环


谢谢,CN

您可以使用嵌套循环加载所有图像并将其存储到列表中。例如:

galleries = soup.findAll(class_='gallery')

all_images = []
for gallery in galleries:
    for img in gallery.findAll('img'):
        gallery_img = Image.open(requests.get(img['src'], stream = True).raw)
        all_images.append(gallery_img)

# here, `all_images` contains all images
# ...