You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3.6.5使用urlopen下载网页内容失败求助(MacOS)

帮你解决Python urlopen无法下载网页的问题

嘿,我来帮你排查一下问题~先看代码里的明显错误,再聊聊系统层面可能的原因:

代码里的直接问题

  1. 网址没有用引号包裹:
    你写的url = https://en.wikipedia.org/wiki/Main_Page是语法错误,Python会把网址当成未定义的变量名,必须把它放在引号里(单引号或双引号都行),改成:

    url = "https://en.wikipedia.org/wiki/Main_Page"
    
  2. 文件操作未正确关闭:
    你直接用open()打开文件后没有调用html_file.close(),虽然Python有时会自动处理,但可能导致内容没完全写入文件。推荐用with语句,它会自动帮你关闭文件,更安全:

    with open('download.html', 'w', encoding='UTF-8') as html_file:
        html_file.write(web_page_text)
    

修正后的完整代码

from urllib.request import urlopen

# 注意给网址加引号
url = "https://en.wikipedia.org/wiki/Main_Page"
try:
    web_page = urlopen(url)
    web_page_bytes = web_page.read()
    web_page_text = web_page_bytes.decode('UTF-8')
    
    # 使用with语句安全操作文件
    with open('download.html', 'w', encoding='UTF-8') as html_file:
        html_file.write(web_page_text)
    print("网页下载成功啦!")
except Exception as e:
    # 捕获并打印错误信息,方便排查
    print(f"出错了:{e}")

系统/软件层面的排查方向

如果修正代码后还是不行,你可以试试这些:

  • 检查网络连接:打开浏览器直接访问维基百科,看能不能正常加载,排除网络本身的问题。
  • 代理设置:如果你的Mac用了代理(比如科学上网工具),可能会影响Python的网络请求。可以暂时关闭代理再试,或者在代码里配置代理(如果需要的话)。
  • 防火墙/安全软件:有些Mac的安全软件或系统防火墙可能会阻止Python联网,你可以检查一下设置,给Python放行。
  • Python版本:确保你用的是Python 3(因为urllib.request是Python 3的模块),在终端输入python --version或者python3 --version确认。

内容的提问来源于stack exchange,提问作者SkinnyBetas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:24:26