gpt4 book ai didi

python - 如何抓取属于特定类的
  • 元素
  • 转载 作者:行者123 更新时间:2023-12-01 01:04:34 26 4
    gpt4 key购买 nike

    我正在尝试抓取亚马逊(in)网站。这是link我所指的产品页面。

    我正在尝试抓取 ul > li 中存在的图像的 URL,以及页面左上角的 span 标记内的图像 URL。

    我需要的最终结果是所有图像缩略图的列表,但不是视频的缩略图

    以下命令运行良好,并为我提供所有缩略图的所有网址

    response.xpath('*//div[@id="altImages"]/ul/li/span[@class="a-list-item"]/span/span/span/span/img/@src').extract()

    上述命令的问题是我无法区分图像是属于视频缩略图还是图像缩略图。

    为此,我使用以下命令来获取属于图像的缩略图:

    response.xpath('*//div[@id="altImages"]/ul/li[contains(@class,"imageThumbnail")]/span[@class="a-list-item"]/span/span/span/span/img/@src').extract()

    ``````````
    and

    ``````````
    response.xpath('*//div[@id="altImages"]/ul/li[@class="a-spacing-small item imageThumbnail a-declarative"]/span[@class="a-list-item"]/span/span/span/span/img/@src').extract()

    class="a-spacing-small item imageThumbnail a-declarative"应该只给我那些具有“imageThumbnail”类的元素。但我得到的是一个空列表

    我在输出中期望的只是属于“imageThumbnail”类的图像的 URL,在我们的示例中,该类的数字应该只有 5

    这是我得到的输出的链接:/image/9K8ZF.jpg

    最佳答案

    我建议您在此处使用 CSS 选择器,特别是因为您正在处理类。要选择所有非视频缩略图,您可以使用:

    response.css('#altImages li.item:not(.videoBlockIngress) img::attr(src)').getall() 

    或者,如果只想获得视频拇指:

    response.css('#altImages .videoBlockIngress img::attr(src)').getall()

    More info on Parsel selectors

    关于python - 如何抓取属于特定类的 <li> 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55496197/

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