Python入门:属性错误

时间:2010-05-04 17:40:33

标签: python web-crawler attributeerror chilkat

我是python的新手,今天就下载了它。我正在使用它来处理网络蜘蛛,所以为了测试它并确保一切正常,我下载了示例代码。不幸的是,它不起作用并给我错误:

“AttributeError:'MyShell'对象没有'已加载'属性”

我不确定代码本身是否有错误,或者我在安装python时未能正确执行某些操作。安装python时是否需要做任何事情,比如添加环境变量等?那个错误通常意味着什么?

以下是我用于导入蜘蛛类的示例代码:

import chilkat
spider = chilkat.CkSpider()
spider.Initialize("www.chilkatsoft.com")
spider.AddUnspidered("http://www.chilkatsoft.com/")
for i in range(0,10):
    success = spider.CrawlNext()
    if (success == True):
        print spider.lastUrl()
    else:
        if (spider.get_NumUnspidered() == 0):
            print "No more URLs to spider"
        else:
            print spider.lastErrorText()

    #  Sleep 1 second before spidering the next URL.
    spider.SleepMs(1000)

2 个答案:

答案 0 :(得分:6)

  

这个错误一般是什么   意思?

Python中的属性是属于对象的名称 - 方法或变量。 AttributeError意味着程序试图使用对象的属性,但该对象没有所请求的属性。

例如,字符串对象具有“upper”属性,该属性是返回字符串大写版本的方法。您可以编写一个使用它的方法:

def get_upper(my_string):
  return my_string.upper()

但请注意,该方法中没有任何内容可确保您拥有来为其提供字符串。您可以传入文件对象或数字。这些都没有'upper'属性,Python会引发属性错误。

至于你为什么在这种情况下看到它,你没有提供足够的细节供我们解决。在您的问题中添加完整的错误消息。

答案 1 :(得分:-1)

1)将代码放入Try ...除了块。得到例外细节。

2)你能告诉StackTrace细节意味着哪个行#和方法抛出错误

还能运行其他简单的python脚本而不会出现任何错误。意味着只是尝试运行一些示例脚本等。