【问题标题】:Scrape amazon url image/picture in python with selenium用硒在python中刮取亚马逊网址图像/图片
【发布时间】:2021-12-19 20:48:24
【问题描述】:

我只需要帮助在带有 selenium 的 python 中抓取产品页面上图像/图片的 Amazon url(第一张图片,屏幕中的大尺寸)。 比如这个产品: https://www.amazon.fr/dp/B07CG3HFPV/ref=cm_sw_r_fm_api_glt_i_2RB9QBPTQXWJ7PQQ16MZ?_encoding=UTF8&psc=1

这里是源代码网页的一部分:

我需要抓取带有标签“src”的url图片。

有人知道如何这个吗? 实际上,我有这个脚本部分,但不工作:

url = https://www.amazon.fr/dp/B07CG3HFPV/ref=cm_sw_r_fm_api_glt_i_2RB9QBPTQXWJ7PQQ16MZ?_encoding=UTF8&psc=1

options = Options()
options.headless = True

driver = webdriver.Chrome(options=options)
driver.get(url)
import time
time.sleep(2)

actions = ActionChains(driver)

link_img = driver.find_element_by_tag_name("img").get_attribute("src")

感谢您的帮助

【问题讨论】:

  • 您需要在 dom 中找到该图像位置的模式,或者类名或 id,或者......没有简单的方法解决它。您的代码显然不起作用,因为您可以确定该页面上有多个图像。
  • 你可以做一个方法,或者一个例子来废弃这个网址吗?我测试了更多的xpath,css选择器,标签,但没有出路

标签: python selenium xpath css-selectors webdriverwait


【解决方案1】:

要在产品页面上抓取图像/图片的亚马逊网址(第一张图片,屏幕中的大尺寸),在带有 selenium 的 python 中,您需要为 visibility_of_element_located() 诱导 WebDriverWait,您可以使用以下任一 @ 987654323@:

  • 使用CSS_SELECTOR

    print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "span.a-list-item>span.a-declarative>div.imgTagWrapper>img.a-dynamic-image"))).get_attribute("src"))
    
  • 使用XPATH

    print(WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.XPATH, "//span[@class='a-list-item']/span[@class='a-declarative']/div[@class='imgTagWrapper']/img[@class='a-dynamic-image']"))).get_attribute("src"))
    
  • 注意:您必须添加以下导入:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support import expected_conditions as EC
    

【讨论】:

    猜你喜欢
    • 2014-08-01
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 2019-01-23
    • 1970-01-01
    • 2019-12-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多