zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    定点数的表示
    [收集]XMPP使用tls 和sasl登录
    socket函数
    [收集] SendMessage、PostMessage原理
    DLL中用malloc分配了一块内存,但是在exe程序中释放引发的错误:其原因可能是堆被损坏,这也说明 **.exe 中或它所加载的任何 DLL 中有 bug。
    关于在IWebBrowser中无法响应Ctrl+C等快捷键的解决方法
    Enum 操作
    程序员面对分歧和难题应当具备的态度【转】
    NDIS学习笔记一
    NDIS学习笔记二——(模拟丢包)
  • 原文地址:https://www.cnblogs.com/BASE64/p/11014501.html
Copyright © 2011-2022 走看看