@src图像属性的Xpath

时间:2015-03-21 18:31:25

标签: python xpath web-scraping scrapy

我正在学习Scrapy Images Pipeline,我确实可以将一个图像下载到我的本地文件夹,并得到Scrapy专家对stackoverflow的一些特殊帮助。

然而,Xpath令我头疼,我无法找出不同代码集的xpath选择器。它在下面给出,我想提取与 data-zoomImage 属性相关联的链接。

<div class="imgWrapper">
<img src="http://img1a.flixcart.com/img/thumb-default.jpg"
     class="productImage  current"
     data-imageId="IMAE3RDWTGGCWGHQ"
     data-src="http://img6a.flixcart.com/image/lenovo-400x400.jpeg"
     data-zoomImage="http://img5a.flixcart.com/image/lenovo-1100x1100.jpeg
</div>

我尝试使用以下选择器提取链接,但没有运气。

('//img/@data-zoomImage/@src').extract()

你能帮助我吗?

更新:

我可以使用以下选择器下载src属性

('//img[@class="productImage  current"]/@src').extract()

我可以通过使用 @ data-src 更改 @src 来下载data-src属性。但是我无法通过相同的逻辑选择 data-zoomImage 属性。知道为什么会发生这种情况的任何想法?

1 个答案:

答案 0 :(得分:2)

有时这可能会有所帮助..

     In [26]: t = """ <div class="imgWrapper">
             <img src="http://img1a.flixcart.com/img/thumb-default.jpg"
             class="productImage  current"
             data-imageId="IMAE3RDWTGGCWGHQ"
             data-src="http://img6a.flixcart.com/image/lenovo-400x400.jpeg"
             data-zoomImage="http://img5a.flixcart.com/image/lenovo-1100x1100.jpeg
             </div> """

    In [27]: from scrapy.selector import Selector

    In [28]: sel.xpath('//img[@class="productImage  current"]/@data-zoomimage').extract()
    Out[28]: [u'http://img5a.flixcart.com/image/lenovo-1100x1100.jpeg\n</div>']

    In [29]: sel.xpath('//img[@class="productImage  current"]/@data-zoomImage').extract()
    Out[29]: []

不知道为什么属性名称从 data-zoomImage 更改为 data-zoomimage