AttributeError: ‘NoneType‘ object has no attribute ‘append‘

问题参考

将元素追加到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值进行增添所以出错 ,解决的办法有两个

  1. 一开始就设定成空列表 (比较建议的做法)
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()))

这样就能装进去了

  1. 途中通过if判断设定空列表(比较麻烦,不展示)

Guess you like

Origin blog.csdn.net/weixin_55579895/article/details/120979253