爬虫的数据精炼问题

来源:13-9 数据精炼

大狸花猫

2018-04-06

def __refine(self,anchors):
l = lambda anchor:{
'name':anchor['name'][0].strip(),
'number':anchor['number'][0]
}
return map(l,anchors)

七月老师我想问一下,数据精炼中匿名函数的形参之后的方法部分

'name':anchor['name'][0].strip(),
'number':anchor['number'][0]

anchor['name'][0]这个有点理解不通·····我打印了anchors已经是一个list列表了,里面的数据是[{'name': '2d战衣托儿索', 'number': '23.9万'}, {'name': '叫我官人', 'number': '12.3万'}, {'name': '刀锋秀秀QAQ', 'number': '1.8万'}]这种,但是这个数据不是显示列表然后是集合吗为什么不是anchor[0]['name']这种读取方式?另外想问一下这个匿名函数里面那个anchor['name'][0]在读取完第0个anchor后如何读下面一个的?并没有写自增呀?麻烦老师了

写回答

2回答

7七月

2018-04-07

是的~~~

0
1
大狸花猫
非常感谢!
2018-04-07
共1条回复

大狸花猫

提问者

2018-04-07

额,看了一会好像搞懂了···想问一下七月老师第一个问题是不是因为对象是上面__analysis方法里面anchors中堆栈的anchor所以读取的是anchor这个集合而不是anchors所以是anchor['name'][0]?第二个问题是不是因为最下面__refine方法中的map让l和anchors中的每一个anchor做精炼 然而每个anchor中都只有一个'name'和‘number’所以后面的下标都是0?

0
0

Python3.8系统入门+进阶 (程序员必备第二语言)

语法精讲/配套练习+思考题/原生爬虫实战

14447 学习 · 4438 问题

查看课程