【问题标题】:Selecting href of link with image inside using xpath使用xpath选择内部带有图像的链接的href
【发布时间】:2016-11-13 16:05:09
【问题描述】:

我正在使用 scrapy 编写一个抓取工具,它可以找到包含图片的链接并抓取链接的 href。我正在抓取的页面填充有图像缩略图,当您单击缩略图时,它会链接到图像的全尺寸版本。我想获取完整尺寸的图片。

html 看起来有点像这样:

<a href="example.com/full_size_image.jpg">
     <img src="example.com/image_thumbnail.jpg">
</a>

我想抢"example.com/full_size_image.jpg"

我目前的做法是

img_urls = scrapy.Selector(response).xpath('//a/img/..').xpath("@href").extract()

但我想将其简化为单个 xpath 表达式,因为我计划允许用户输入他们自己的 xpath 表达式字符串。

【问题讨论】:

    标签: html xpath web-scraping scrapy


    【解决方案1】:

    您可以通过这种方式检查一个元素是否有另一个子元素:

    response.xpath('//a[img]/@href').extract()
    

    请注意,我正在使用 response.xpath() 快捷方式并提供单个 XPath 表达式。

    【讨论】:

    • 这不仅解决了我的问题,而且告诉了我一个我什至不知道存在的快捷方式。谢谢!
    猜你喜欢
    • 2016-10-26
    • 1970-01-01
    • 2016-09-30
    • 1970-01-01
    • 1970-01-01
    • 2020-03-28
    • 2018-04-23
    • 1970-01-01
    • 2014-06-13
    相关资源
    最近更新 更多