使用xpath选择内部链接的href

时间:2016-07-11 16:08:12

标签: html xpath web-scraping scrapy

我使用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表达式字符串。

1 个答案:

答案 0 :(得分:4)

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

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

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