Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python 3从URL提取图像_Python_Url_Flask_Python Imaging Library_Urllib - Fatal编程技术网

使用Python 3从URL提取图像

使用Python 3从URL提取图像,python,url,flask,python-imaging-library,urllib,Python,Url,Flask,Python Imaging Library,Urllib,我正在使用Flask开发RESTAPI,其中我必须从用户在URL参数内提供的URL中检索图像 以下是我尝试过的: import urllib from io import BytesIO from PIL import Image from flask import Flask app = Flask(__name__) @app.route('/<path:image_url>') def build_mask_rmv_bg(image_url): f = urlli

我正在使用Flask开发RESTAPI,其中我必须从用户在URL参数内提供的URL中检索图像

以下是我尝试过的:

import urllib
from io import BytesIO
from PIL import Image
from flask import Flask

app = Flask(__name__)


@app.route('/<path:image_url>')
def build_mask_rmv_bg(image_url):
    f = urllib.request.urlopen(image_url)
    jpeg_str = f.read()
    original_im = Image.open(BytesIO(jpeg_str))
    return original_im


if __name__ == '__main__':
    app.run()
我在URL参数中尝试了HTTP和HTTTPs路径。但它返回以下错误:

urllib.error.URLError: <urlopen error [SSL:CERTIFICATE_VERIFY_FAILED] certificate
verify failed (_ssl.c:749)>
127.0.0.1 - - [01/Sep/2018 09:37:51] "GET /http://raw.githubusercontent.com/tensorflow/models/master/research/deeplab/g3doc/img/image2.jpg HTTP/1.1" 500 -
这里怎么了

请帮帮我


提前谢谢

您可以使用Python请求模块从URL获取数据,然后以如下二进制格式保存到文件中

f = open(filename, "wb")
r = requests.get(url)
f.write(r.content)

可能的解决方案:Hi@dvnguyen,我已经试过了,但是同样的错误又回来了。
from flask import Flask
import wget
app = Flask(__name__)


@app.route('/<path:image_url>')
def build_mask_rmv_bg(image_url):
    url = str(image_url)
    # download the file contents in binary format
    print(url)
    wget.download(url, "img/image1.jpg")
    return 'something happened'


if __name__ == '__main__':
    app.run()
f = open(filename, "wb")
r = requests.get(url)
f.write(r.content)