我正在尝试使用硒从此代码中提取jpg。我已经设法 查找链接以单击以获取我的jpg文件所在的位置。 (愚蠢的运气! 我是硒新手。单击时,所有窗口都会打开。它的 与Scrapy相比,它真的很慢,所以如果有人可以告诉我更快的方法 那就太好了。
我要抓取的网站是www.rosegal.com。类别 我刮的是加大码的背心。第一页有60个产品 在上面。如果您单击这些产品,将带您到产品页面,其中 您可以选择所需的尺寸,颜色和数量。
每种颜色都有它自己的图像,所以我要做的是单击第一个 颜色,先刮擦与该颜色相关的大图像,然后再刮 第二种颜色刮擦该图像,依此类推。
我点击了要抓取的数据的路径。我已经导入 硒。我打电话给chromedriver。命名驱动程序,我已经加载了网址 我要开始并单击要刮的产品,然后我 单击我的jpg所使用的颜色,现在就可以获取我的jpg。
from selenium import webdriver
chrome_path = r"C:/Users/daver/Downloads/chromedriver_win32
(4)/chromedriver.exe"
driver = webdriver.Chrome(chrome_path)
driver.get("https://www.rosegal.com/plus-size-tank-tops-482/")
driver.find_element_by_xpath("""//*
[@id="js_proList"]/ul[1]/li[1]/div/div/p""").click()
#This is what I tried this to get my jpg:
image1_element = driver.find_element_by_xpath("""//*
[@id="goods_thumb_content"]/ul/li[1]/img""")
print("image1_element")
print(image1_element)
image1_element = driver.find_element_by_xpath("""//*
[@id="goods_thumb_content"]/ul/li[2]/img""")
print("image2_element")
print(image2_element)
image1_element = driver.find_element_by_xpath("""//*
[@id="goods_thumb_content"]/ul/li[3]/img""")
print("image3_element")
print(image3_element)
**This is the code the jpg is embedded:**
<div id="js_zoom_img" style="position: relative; overflow: hidden;">
<img data-zoomimg="https://gloimg.rglcdn.com/rosegal/pdm-product-
pic/Clothing/2019/06/18/source-img/20190618173639_71567.jpg"
尝试获取此jpg:
https://gloimg.rglcdn.com/rosegal/pdm-product- pic /服装/2019/06/18/source-img/20190618173639_71567.jpg
还要尝试返回上面有60种产品的页面,以便我可以 刮其他产品。
答案 0 :(得分:0)
以下代码将帮助您单击每种颜色并打印与之关联的所有图像。
#To click on each color
Colors = driver.find_elements_by_xpath("//p[@class='attr-choose clearfix goods_property_color']//a")
for color in Colors:
print("Clicking on color: ",color.get_attribute('data-value'))
color.click()
time.sleep(2)
#now collect all the image urls for the color
images = driver.find_elements_by_xpath("//div[@id='goods_thumb_content']//li")
print("Total images",len(images))
for image in images:
print(image.get_attribute('data-bigimg'))