如何从html中获取图像,图像不在img标记中,而是在div class='blah blah'下

2024-03-28 08:56:40 发布

您现在位置:Python中文网/ 问答频道 /正文

今天我学习了如何使用Python上的BeautifulSoup.select('blahblah')从互联网上抓取图像,以及如何在mac上下载它们

我能够下载img标签中的照片,并找到它们,如下所示: src='http or // blah blah'

但我在'div' class='something else'下找不到任何.jpg.png部分

我想下载的图像不仅是一个图像,而且似乎还有其他功能,如显示登录弹出窗口,并在其上有一个按钮,使图像更大

import lxml
import bs4
import requests

rec = requests.get('https://www.pinterest.com/pin/701294973197421148/')
soup_rec = bs4.BeautifulSoup(rec.text, 'lxml')

soup_rec

soup_rec.select('div.zI7.iyn.Hsu') # I just type this way to try anything.
我试图下载的图片是在Pinterest页面中间的一个女演员的照片。


Tags: 图像importdivmac互联网requestsselectlxml
1条回答
网友
1楼 · 发布于 2024-03-28 08:56:40

为此,您需要^{},因为这是一个动态网站:

import bs4 as Bs
from selenium import webdriver

DRIVER_PATH = 'path/to/your/executable'
driver = webdriver.Chrome(executable_path=DRIVER_PATH)

driver.get('https://www.pinterest.com/pin/701294973197421148/')

page_src = Bs.BeautifulSoup(driver.page_source)

img = page_src.find("div",{"class":"zI7 iyn Hsu"}).find("img")

print(img.get_attribute_list("src")[0])

给我:

'https://i.pinimg.com/originals/ac/8b/d7/ac8bd7a2ff22210e8592a2aae202490d.jpg'

您可以使用this guide了解如何使用selenium来抓取动态网站

相关问题 更多 >