与可747 2022-03-19 12:55 采纳率: 20%
浏览 27

python爬虫程序,突然出现问题,之前运行都没有问题

def askurl(url):
headers = {
"User - Agent": 'Mozilla/5.0(Windows NT 10.0;WOW64) AppleWebKit/537.36(KHTML, likeGecko) Chrome/86.0.4240.198Safari/537.36'
# "User - Agent": 'Mozilla/5.0(Windows NT 10.0;Win64;x64) AppleWebKit/537.36(KHTML, likeGecko) Chrome/99.0.4844.74Safari/537.36'
# "user-agent": 'Mozilla/5.0 (Windows NT 10.0;WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36'
}
req = urllib.request.Request(url=url, headers=headers) # 封装爬虫信息,模拟浏览器
try:
response = urllib.request.urlopen(req) # 获取网站数据
html = response.read().decode('utf-8')
except urllib.error.URLError as e:
if hasattr('e', 'code'): # 返回异常状态码
print(e.code)
if hasattr(e, 'reason'): # 返回异常原因
print(e.reason)
return html # 返回得到的数据

很久之前写的一个爬虫,之前运行也没有问题,今天刚跑了几次之后,然后就跑不起来了,提示一个这样的错误,着实不能理解
UnboundLocalError: local variable 'html' referenced before assignment

  • 写回答

1条回答 默认 最新

  • 哈哥撩编程 2023年度博客之星评选TOP 4 2022-03-19 14:20
    关注

    出现UnboundLocalError: local variable ‘a’ referenced before assignment异常的情况与解决方法
    字面意思:局部变量赋值前被引用
    原因:局部变量与全局变量同名

    解决方法:
    1.使局部变量与全局变量不同名
    2.使用global关键字

    如有帮助,还请采纳。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 3月19日

悬赏问题

  • ¥15 matlab数据降噪处理,提高数据的可信度,确保峰值信号的不损失?
  • ¥15 怎么看我在bios每次修改的日志
  • ¥15 python+mysql图书管理系统
  • ¥15 Questasim Error: (vcom-13)
  • ¥15 船舶旋回实验matlab
  • ¥30 SQL 数组,游标,递归覆盖原值
  • ¥15 为什么我的数据接收的那么慢呀有没有完整的 hal 库并 代码呀有的话能不能发我一份并且我用 printf 函数显示处理之后的数据,用 debug 就不能运行了呢
  • ¥20 gitlab 中文路径,无法下载
  • ¥15 用动态规划算法均分纸牌
  • ¥30 udp socket,bind 0.0.0.0 ,如何自动选取用户访问的服务器IP来回复数据