我知道易碎的'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/

10-10 00:39
查看更多