Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.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
在urllib2模块中出现Python、NameError错误,但仅在少数网站中出现_Python_Urllib2_Nameerror - Fatal编程技术网

在urllib2模块中出现Python、NameError错误,但仅在少数网站中出现

在urllib2模块中出现Python、NameError错误,但仅在少数网站中出现,python,urllib2,nameerror,Python,Urllib2,Nameerror,它正在工作,但由于某些原因,一些网站出现了以下错误: website = raw_input('website: ') with open('words.txt', 'r+') as arquivo: for lendo in arquivo.readlines(): msmwebsite = website + lendo try: abrindo = urllib2.urlopen(msmwebsite)

它正在工作,但由于某些原因,一些网站出现了以下错误:

website = raw_input('website: ')
with open('words.txt', 'r+') as arquivo:
    for lendo in arquivo.readlines():
        msmwebsite = website + lendo
        try:
            abrindo = urllib2.urlopen(msmwebsite)
            abrindo2 = abrindo.read()           

        except URLError as e:
            pass

        if abrindo.code == 200:
            palavras = ['registration', 'there is no form']
            for palavras2 in palavras:
                if palavras2 in abrindo2:
                    print msmwebsite, 'up'

                else:
                    pass

        else:
            pass
如何修复它?

将<代码>通过替换为<代码>继续。并且至少做一些错误日志记录,因为您会悄悄地跳过错误链接


如果您的请求导致了
URLError
,则未定义变量
abrindo
,因此您会出现错误。

pass
替换为
continue
。并且至少做一些错误日志记录,因为您会悄悄地跳过错误链接


如果您的请求导致
URLError
,则未定义变量
abindo
,因此您的错误。

abindo
仅在
try
块中创建。如果执行
catch
块,则该命令不可用。要解决此问题,请移动以开头的代码块

if abrindo.code == 200:
NameError: name 'abrindo' is not defined

块内尝试
。还有一个建议,如果您没有在
else
部分中执行任何操作,而不是使用
pass
显式编写,只需删除它们。

abindo
仅在
try
块中创建。如果执行
catch
块,则该命令不可用。要解决此问题,请移动以开头的代码块

if abrindo.code == 200:
NameError: name 'abrindo' is not defined

块内尝试
。还有一个建议,如果你在
else
部分没有做任何事情,不要用
pass
显式编写,只需删除它们。

不建议在
try
块中移动大量代码,因为它可以掩盖错误(即使它不会使用这个确切的代码,通常也可以,包括随着代码的发展). 相反,它可以放在一个
else:
块中,与
try
对齐(当且仅当
块之外没有
时执行),或者(正如另一个答案所建议的)将
除了:传递
更改为
除了:继续
。不建议在
try
块中移动大量代码,因为它可以屏蔽bug(即使它不能与这个确切的代码兼容,它通常也可以,包括随着代码的发展)。相反,它可以放在一个
else:
块中,该块与
try
对齐(当且仅当
块除外
时执行),或者(正如另一个答案所示)将
除了:pass
更改为
除了:continue
。我做到了,有趣的是,在我测试的网站中,存在一个“Palavra”单词,但没有打印“-”。现在我修复了它,这是我的一个错误。谢谢阿尔科:)!我做到了,有趣的是,在我测试的一个网站中,存在一个“palavras”单词,但没有打印“-”。现在我修复了它,这是我的一个错误。谢谢阿尔科:)!