2015-12-07 114 views
1

我知道scrapy'提取()'數據到一個數組中,這是很好的修改它在管道中我需要它留在一個數組中。從scrapy中提取數據到數組

不幸的是,當我拉的數據是這樣 -

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

結果是一個字符串。該[]符號用於創建磁盤陣列:

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] 
+0

Of cours e,即使在codeacademy的python類中!非常感謝! – Dpitt1968