AttributeError: module 'urllib' has no attribute 'request'/'urlopen'解决办法

本文介绍了解决在Python3环境中使用Sublime Text时遇到的urllib2模块导入错误的方法。通过逐步调整导入语句,最终采用正确的urllib.request模块来实现网页内容抓取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python3运行脚本出错:

import urllib2

def getHtml(url,headers):
    req = urllib2.Request(url,headers=headers)
    page = urllib2.urlopen(req)
    html = page.read()
    return html

报错:


原因:在sublimeText3中运行脚本,就会提示ImportError: No module named ‘urllib2′ ,这是因为SublimeText3内置了Python版本是3,已经不支持urllib2,需要改为以下命令:import urllib

修改了之后:

import urllib

def getHtml(url,headers):
    req = urllib.Request(url,headers=headers)
    page = urllib.urlopen(req)
    html = page.read()
    return html

又报错:


查了一些资料,真正原因是在Python3.X中改用了urllib.request。所以引用包需要更改为:import  urllib.request

修改上述代码,重新运行即可。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

释梦燃

你的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值