我知道易碎的'extracts()'数据到数组中,这对于在管道中修改它非常有用,我需要将其保留在数组中。
不幸的是,当我像这样拉数据时-
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]
最佳答案
表达式的结果是一个字符串。 []
符号用于创建数组:
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/