问题参考
将元素追加到Python中的空列表字典中
Python之字典添加元素的几种方法
问题背景
使用python的beautifulsoup库爬取网页数据的时候,将得到的值放进dict字典中存储,报错
AttributeError: 'NoneType' object has no attribute 'append'
关键部位的原代码
dict = {
'page':page,'title':None,'source':None,'date':None,'url':None}
source = i.select('div[class="f13 c-gap-top-xsmall se_st_footer user-avatar"]')[0].select('a')[0].get_text()
dict['source'].append(''.join(source.split()))
问题解决
由于dict中的键值一开始设定是空值,没有设定是空列表,而append方法无法对none值进行增添所以出错 ,解决的办法有两个
- 一开始就设定成空列表 (比较建议的做法)
dict = {
'page':page,'title':[],'source':[],'date':[],'time':[]}
source = i.select('div[class="f13 c-gap-top-xsmall se_st_footer user-avatar"]')[0].select('a')[0].get_text()
dict['source'].append(''.join(source.split()))
这样就能装进去了
- 途中通过if判断设定空列表(比较麻烦,不展示)