首页 > 解决方案 > 从网络下载图像的代码中出现禁止错误

问题描述

import random
import urllib.request

def download_web_image(url):
  name = random.randrange(1, 1000)
  full_name = str(name) + ".jpg"
  urllib.request.urlretrieve(url, full_name)

download_web_image("https://cdn.pixabay.com/photo/2015/04/23/22/00/tree-736885__480.jpg")

我在这里做错了什么?

标签: pythonfunctionurlliburlretrieve

解决方案


使用请求模块的更兼容的方法如下:

import random
import requests

def download_web_image(url):
    name = random.randrange(1, 1000)
    full_name = str(name) + ".jpg"
    r = requests.get(url)
    with open(f'C:\\Test\\{full_name}', 'wb') as outfile:
        outfile.write(r.content)

download_web_image("https://cdn.pixabay.com/photo/2015/04/23/22/00/tree-736885__480.jpg")

还要确保修改f'C:\\Test\\{full_name}'为所需的输出文件路径。请务必注意导入的模块从更改import urllib.requestimport requests.


推荐阅读