将数据从scrapy提取到数组中

时间:2015-12-07 03:04:51

标签: python arrays json

我知道scrapy'extract()'数据到一个数组中,这非常适合在管道中修改它我需要它保留在一个数组中。

不幸的是,当我拉这样的数据时 -

In [8]: response.xpath('//*[@id="contacted-hosts"]//tr[1]/td[1]/text()').extract()[0]
Out[8]: u'98.139.135.129'

我需要离开[8]:u'98.139.135.129回到这样一个数组中 -

[u'98.139.135.129']
哈,我该怎么做?我在论坛中找不到这样的东西......谢谢!

好的,我在哪里放[]

item["Attribute"][0]['value']  = response.xpath('//*[@id="contacted-hosts"]//tr[1]/td[1]/text()').extract()[0]

1 个答案:

答案 0 :(得分:1)

表达式的结果是一个字符串。 []符号用于创建数组:

foo = ['somestring']

对于您的具体示例:

foo = [response.xpath('//*[@id="contacted-hosts"]//tr[1]/td[1]/text()').extract()[0]]

您也可以使用数组切片:

In [1]: foo = ['bar', 'baz']
In [2]: foo[:1]
Out[2]: ['bar']

这就是你的榜样:

response.xpath('//*[@id="contacted-hosts"]//tr[1]/td[1]/text()').extract()[:1]