Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
此代码在Aptana上运行,但在python HTMLParser中失败_Python_Aptana - Fatal编程技术网

此代码在Aptana上运行,但在python HTMLParser中失败

此代码在Aptana上运行,但在python HTMLParser中失败,python,aptana,Python,Aptana,这就是重点,在Aptana3Wiyh-pyDev中,我没有例外,一切似乎都很好 但是,当我尝试直接在python中运行时,bucle会在某个点停止,我猜它可能与像ó之类的特殊角色匹配 class Spider(HTMLParser): def __init__(self, url): HTMLParser.__init__(self) string=[] string2=[] self.feed(urlopen(url).r

这就是重点,在Aptana3Wiyh-pyDev中,我没有例外,一切似乎都很好

但是,当我尝试直接在python中运行时,bucle会在某个点停止,我猜它可能与像ó之类的特殊角色匹配

class Spider(HTMLParser):
    def __init__(self, url):
        HTMLParser.__init__(self)
        string=[]
        string2=[]
        self.feed(urlopen(url).read()

    def handle_starttag(self, tag, attrs):
        if tag == 'a' and attrs:
            title= attrs[1][1]
            link= attrs[0][1]
            string.append(title)
            string2.append(link)
我是python的新手,因此我无法获得比这更好的异常信息:

line 33, in __init__ self.feed(urlopen(url).read()) File "/usr/lib/python2.6/HTMLParser.py", line 108, 
in feed self.goahead(0)  File "/usr/lib/python2.6/HTMLParser.py", line 148, 
in goahead k = self.parse_starttag(i)  File "/usr/lib/python2.6/HTMLParser.py", line 252, 
in parse_starttag attrvalue = self.unescape(attrvalue)'])
来自raise的输出:

但这仍然是一个丑陋的解决方案,我需要在文本中添加重音。 我试着

但是没有任何改变。

试试这个:

import sys
sys.setdefaultencoding('latin-1')

一些相关阅读:。

不幸的是,Max的解决方案不起作用

AttributeError:“模块”对象没有属性“setdefaultencoding”

我最终通过添加以下内容使其发挥作用:

z=urlopen(url).read().decode('utf-8')
self.feed(z)

您是否在Aptana/Pydev上使用相同版本的python?(
python2.6
)你确定它运行的是同一版本的python>吗?我为你修正了格式。另外,您发布的代码格式不正确,位于
self.feed(urlopen(url).read()
…不平衡的括号。使用
raise
(无参数)若要重新显示当前异常以在控制台上获取堆栈跟踪,我们需要实际的异常消息。@Mario Im在pydev中使用python2.7,但在2.6中配置了解释器,无论如何,代码在2.7中也无法运行,checkedMost系统现在使用
utf-8
作为默认编码。
# -*- coding: latin-1 -*-
import sys
sys.setdefaultencoding('latin-1')
z=urlopen(url).read().decode('utf-8')
self.feed(z)