【问题标题】:Trouble retrieving all images in a div/img/@src carousel - Scrapy无法检索 div/img/@src 轮播中的所有图像 - Scrapy
【发布时间】:2021-07-18 11:38:13
【问题描述】:

我正在尝试抓取被 div 标签包围的多个 img/@src 标签的内容,如下所示:

<div class="carousel large-pdp-image transition" style="transform: translateX(-100%);">
  <img src="//images.footballfanatics.com/FFImage/thumb.aspx?i=/productimages/_4032000/altimages/ff_4032371-22eb81b61e99dcaf02b8alt1_full.jpg&amp;w=900" alt="" class="carousel-image">
  <img src="//images.footballfanatics.com/FFImage/thumb.aspx?i=/productimages/_4032000/altimages/ff_4032371-22eb81b61e99dcaf02b8alt2_full.jpg&amp;w=900" alt="Dan Marino Miami Dolphins Autographed Riddell Throwback 80-96 Authentic Pro Helmet with Multiple Career Statistics Inscriptions" class="carousel-image current-image">
    
 </div>

当我运行 xpath 命令时:

response.xpath('//div[@class="carousel large-pdp-image transition"]/img/@src').getall()

我仍然只能得到第一个 img src url。我想同时获取这两个 img src url。寻求任何指导或建议。

谢谢!

【问题讨论】:

    标签: python html scrapy


    【解决方案1】:

    在您的 Xpath 中,由于斜线,您正试图抓取第一张图片。

    你的 Xpath

    response.xpath('//div[@class="carousel large-pdp-image transition"]/img/@src').getall()
    

    编辑:

    response.xpath('//div[@class="carousel large-pdp-image transition"]//img/@src').extract()
    

    双斜线可以让你刮掉img的所有src。

    【讨论】:

    • 感谢您的回复!我尝试使用 extract() 在“//img/@src”中添加该代码,但我仍然只能抓取第一张图片...还有什么我可以尝试下载 img 下的所有 src 和xpath 是否返回图像列表?谢谢!
    • 你有没有用 getall 尝试双斜杠
    • 我尝试了 extract() 和 getall(),但它仍然只提取第一张图像。所以对于 getall() 数组只是第一个图像,它并没有抓取轮播中的所有 img src,只是第一个仍然
    • 能否分享一下网站
    • fanaticsauthentic.com/mlb-authentic/jerseys-autographed/… ,所以如果你点击“Nolan Ryan White Houston Astros 亲笔签名耐克 Replica Jersey 球衣,上面印有“HOF '99'' 字样”。您可以看到轮播中有 5 张图片,我正在尝试抓取所有这些 img src 链接。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 2020-01-17
    • 2021-07-14
    • 2018-08-20
    • 2011-10-20
    • 2014-04-12
    • 1970-01-01
    • 2018-07-30
    • 1970-01-01
    相关资源
    最近更新 更多