找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2018|回复: 2

[求助] Python小白求助

2

主题

3

帖子

3

积分

贫民

积分
3
wd0809 发表于 2020-4-13 15:52:34 | 显示全部楼层 |阅读模式
def askURL(url):
    global html
    request = urllib.request.Request(url)#发送请求
    try:
        resp**e = urllib.request.urlopen(request)#取得响应
        html= resp**e.read()#获取网页内容
        # print (html)
    except urllib.error.URLError as e:
        if hasattr(e,"code"):
            print (e.code)
        if hasattr(e,"reason"):
            print (e.reason)
    return html

NameError: name 'html' is not defined 一开始的代码没有global html这行,报错是UnboundLocalError: local variable 'html' referenced before assignment加了全局变量后又变成这样了



回复

使用道具 举报

0

主题

6

帖子

6

积分

贫民

积分
6
zhzhrao 发表于 2020-4-18 13:52:56 | 显示全部楼层
函数外面先定义一个html变量
回复 支持 反对

使用道具 举报

0

主题

956

帖子

956

积分

圣骑士

积分
956
sheeboard 发表于 2020-4-18 15:21:45 | 显示全部楼层
本帖最后由 sheeboard 于 2020-4-18 15:42 编辑

resp**e = urllib.request.urlopen(request)这一句下面放个判断返回是否为空,或是用requests判断响应status是否是200 ok,因为前面没获取网页,所以html没内容,放个全局html没意义。抄代码之前要了解原理和意义。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表