我知道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]
答案 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]