使用Python 3从URL提取图像
我正在使用Flask开发RESTAPI,其中我必须从用户在URL参数内提供的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
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)