我知道将 scrapy 'extracts()' 数据放入数组中,这对于在管道中修改它非常有用,我需要它保留在数组中。
不幸的是,当我像这样提取数据时 -
In [8]: response.xpath('//*[@id="contacted-hosts"]//tr[1]/td[1]/text()').extract()[0]
Out[8]: u'98.139.135.129'
我需要将 Out[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]
最佳答案
表达式的结果是一个字符串。 []
符号用于创建数组:
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]
关于python - 从scrapy中提取数据到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34125774/