将Scrapy中的元素提取到不同的领域

时间:2014-02-07 11:43:02

标签: python xpath scrapy

我是scrapy的新手,正试图从我的供应商网站上搜集一些图片。

这是HTML代码:

<div class="image-additional caruofredsel-additional">
  <a href="http://scssports.in/image/cache/data/adidas-t-t-husgado-white-unisex-sports-shoes-g40422-500x500.jpg" title="Adidas T T Husgado Badminton and Squash Shoes" class="colorbox" rel="colorbox"><img class="fade-image" 
src="http://scssports.in/image/cache/data/adidas-t-t-husgado-white-unisex-sports-shoes-g40422-80x80.jpg" title="Adidas T T Husgado Badminton and Squash Shoes" alt="Adidas T T Husgado Badminton and Squash Shoes" />
</a>

正如您所看到的,那里有两个图像网址。我在items.py文件中创建了两个不同的字段,即imgurl1和imgurl2,因为当我将它们导出到csv时,我希望将这两个不同的图像存储在不同的列下。

我有什么方法可以这样做吗?

我的代码:

titles = hxs.select("//div[@class='image-additional caruofredsel-additional']")
      items = []
      for titles in titles:
            item = SampleItem()
            item ["imgurl2"] = titles.select("a/@href").extract()
            items.append(item)

谢谢!

1 个答案:

答案 0 :(得分:0)

由于<img>标记位于<a>标记内,因此可以使用

item ["imgurl1"] = titles.select("a/img/@src").extract()