gpt4 book ai didi

python - 使用 Selenium (Python) 提取图像

转载 作者:行者123 更新时间:2023-12-01 08:28:33 25 4
gpt4 key购买 nike

我正在学习网页抓取,现在我想知道是否可以从网站提取图像并将其放入 Excel 文件中?

我正在这个网站工作:https://www.browniespain.com/es/novedades/

这是我的代码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
import os
import openpyxl
from openpyxl import Workbook
import time


browser=webdriver.Safari()
browser.get("https://www.browniespain.com/es/novedades/")

primera = "//*[@id='center_column']/div[6]/div["
segunda ="]/div/div[2]/div[1]/h5/a"

productos = len(browser.find_elements_by_xpath('//*. [@id="center_column"]/div[6]/div'))

print(productos)

for n in range(1,productos+1):
direccion = primera+str(n)+segunda
nombre_producto = browser.find_element_by_xpath(direccion).text
file_name = 'NovedadesBrownie.xlsx'

if(os.path.exists(file_name)):
workbook = openpyxl.load_workbook(file_name)
worksheet = workbook.get_sheet_by_name('Sheet')
else:
workbook = Workbook()
worksheet = workbook.active
worksheet.cell(row=n,column=1).value = nombre_producto
workbook.save(file_name)



print(nombre_producto)

primera = "//*[@id='center_column']/div[6]/div["
segunda ="]/div/div[2]/div[1]/div[2]/span"

productos = len(browser.find_elements_by_xpath('//*[@id="center_column"]/div[6]/div'))

print(productos)

for n in range(1,productos+1):
direccion = primera+str(n)+segunda
precio_producto = browser.find_element_by_xpath(direccion).text

if(os.path.exists(file_name)):
workbook = openpyxl.load_workbook(file_name)
worksheet = workbook.get_sheet_by_name('Sheet')
else:
workbook = Workbook()
worksheet = workbook.active
worksheet.cell(row=n,column=2).value = precio_producto
workbook.save(file_name)



print(precio_producto)

browser.close()

您知道提取图像并将其放入 Excel 文件的任何想法吗?

最佳答案

您的 XPath 语法不正确。尝试这样:

browser.find_elements_by_xpath('//*[@id="center_column"]/div[6]/div')

其余代码似乎按预期工作。

但是,要获取您想要使用 XPath 的图像,如下所示:

//div/a/img[contains(@class,'imgcat')]

然后使用 get_attribute 检索 src URL:

for i in  elements:
image = i.find_elements_by_xpath("//div/a/img[contains(@class,'imgcat')]")
img_src = image.get_attribute("src")

接下来,我建议将文件下载到本地磁盘

import urllib.request
urllib.request.urlretrieve("http://www.example.com/news/media/test.jpg", "local-filename.jpg")

并将它们添加到您的工作表中。

import openpyxl

wb = openpyxl.Workbook()
ws = wb.worksheets[0]
img = openpyxl.drawing.Image('local-filename.jpg')
img.anchor(ws.cell('A1'))
ws.add_image(img)

关于python - 使用 Selenium (Python) 提取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54056267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com