为了账号安全,请及时绑定邮箱和手机立即绑定

使用python3.6写的, 'NoneType' object has no attribute 'get_text'

craw 1 : https://baike.baidu.com/item/Python/407313?fr=aladdin

Traceback (most recent call last):

  File "C:\CODE\pcode\baike_spider\spider_main.py", line 48, in <module>

    obj_spider.craw(root_url)     #启动爬虫

  File "C:\CODE\pcode\baike_spider\spider_main.py", line 31, in craw

    new_urls, new_data = self.parser.parse(new_url,html_cont)      #解析得到数据和新的路径

  File "C:\CODE\pcode\baike_spider\html_parser.py", line 41, in parse

    new_data = self._get_new_data(page_url,soup)

  File "C:\CODE\pcode\baike_spider\html_parser.py", line 32, in _get_new_data

    res_data['summary']=summary_node.get_text()

AttributeError: 'NoneType' object has no attribute 'get_text'


感觉错误原因可能有:python升级了,百度升级了,以及我傻了,555

在网上查到了一个回答:

'''

AttributeError: 'NoneType' object has no attribute 'get_text'

你得到的summary_node是个none类型,说明html里这个标签并没有内容。

很有可能是用js动态生成的,还是得在浏览器里在研究研究,看看过程。

'''

敢问大佬们怎么解呀?



正在回答

3 回答

服了没个解决问题的,投机取巧的倒有

0 回复 有任何疑惑可以回复我~

我没有写错大小写啊,也是错的。。。

0 回复 有任何疑惑可以回复我~

好吧,我自己找到问题了,这个不是函数的问题,错误原因有点无奈,大家可以引以为戒

#<div class="lemma-summary" label-module="lemmaSummary">

summary_node = soup.find('div',class_='Lemma-summary')

错误原因是网页源代码中lemma-summary第一个字母是小写,我对比这段的时候就只是和我贴下来的注释对比,而那个l在注释中看起来像大写L,然后,GG了

这说明如果使用find方法,属性值填错会导致找不到对应标签,然后报错'NoneType' object has no attribute 'get_text'


2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Python开发简单爬虫
  • 参与学习       227670    人
  • 解答问题       1219    个

本教程带您解开python爬虫这门神奇技术的面纱

进入课程

使用python3.6写的, 'NoneType' object has no attribute 'get_text'

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信