• python学习之常见错误


    以中国大学定向排名爬虫为例

    一、for tr in soup.find('tbody').children:

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

    它告诉我们从soup中获取到的网页结构内容tbody出现问题,这就要从函数getHTMLText(url)中来找解决的办法,网上有的同学说是一些单词打错出现的问题,当然这也是一个,但是检查了单词后发现没有错误,就另辟蹊径。后来在main()函数中看到url是https开头的,这个一般是受保护的,很难访问到,在浏览器中打开链接,果然,这个链接无法访问,之后把url链接头换成http就可以正常执行了。

     

    二、import requests
           ModuleNotFoundError: No module named 'requests'

    这个提示告诉我们没有安装requests库,像我们经常出现的除了requests之外,还有提示No Module named'bs4'/No Module named'BeautifulSoup',这些提示都是告诉我们没有安装相应的库,如果是pycharm,只要在File->settings->"+"->搜索相应的库,点击最下面的install package即可安装成功,如果直接是python几点几的版本,需要到官网(https://pypi.org/)下载相应的包,放在python安装目录下的Scripts目录下,进入到解压后的文件目录下,里面有一个setup.py文件,打开终端,进入到setup.py文件目录下,使用命令python setup.py install即可实现安装,缺少其他的包也是一样的安装方法。

    三、TypeError: 'NavigableString' object is not callable

    这个提示告诉我们NavigableString对象不可调用,说明BeautifulSoup库中解析html网页的文本值并不是库中的内置对象,所以解决办法是加一个判断语句if isinstance(tr,bs4.element.Tag)。

     

    四、TypeError: 'int' object is not subscriptable

    它是说int对象不可订阅,通常如果没有定义列表而调用列表中元素的值会出现这个问题。

    五、pycharm中提示:TabError: inconsistent use of tabs and spaces in indentation

    这是说制表符和空格不一致,解决办法是在工具栏的Code->Reformatcode即可解决,同时工具的旁边也提供了快捷键Ctrl+Alt+l。

  • 相关阅读:
    数独
    面向对象程序设计课第七次作业
    面向对象程序设计课第六次作业
    软件工程课总结
    第四次作业:四则运算界面
    psp记录个人项目花费时间
    作业三:代码规范,代码复查
    编写一个能生成小学四则运算题目的运算
    目前流行的源程序版本管理软件和项目管理软件有哪些?有什么优缺点
    课程进度总结
  • 原文地址:https://www.cnblogs.com/BASE64/p/11014501.html
Copyright © 2020-2023  润新知