Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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 urlretrieve无法下载某些图像_Python_Image_Python 3.x - Fatal编程技术网

Python urlretrieve无法下载某些图像

Python urlretrieve无法下载某些图像,python,image,python-3.x,Python,Image,Python 3.x,我在使用urlretrieve下载某些图像时遇到问题 我使用此代码段下载图像: urllib.request.urlretrieve('https://www.facebook.com/photo/download/?fbid=166644340383715','image_name.jpg') 与其他图像一样,下载成功,但当我试图打开它时,出现错误:未知文件格式,空的/损坏的文件或找不到文件当我试图通过浏览器下载确切的图像时,不会发生什么情况,只是复制粘贴URLhttps://www.fac

我在使用urlretrieve下载某些图像时遇到问题

我使用此代码段下载图像:

urllib.request.urlretrieve('https://www.facebook.com/photo/download/?fbid=166644340383715','image_name.jpg')

与其他图像一样,下载成功,但当我试图打开它时,出现错误:
未知文件格式,空的/损坏的文件或找不到文件
当我试图通过浏览器下载确切的图像时,不会发生什么情况,只是复制粘贴URL
https://www.facebook.com/photo/download/?fbid=166644340383715
到地址行,然后按enter键。文件大小也不同:实际文件大小为14.6KB,使用urlretrieve创建的文件大小为48KB。我认为这个问题只与小文件有关,但尝试使用另一个文件可能服务器端的图像已损坏。或者服务器会阻止您的下载。不管怎样,下载这张图片对你来说都是没有希望的

def download_image(url, filename, output_dir_name):
    if not os.path.exists(output_dir_name):
        os.makedirs(output_dir_name)
    conn = urllib.request.urlopen(url)
    output = open(os.path.join(output_dir_name, filename), 'wb')  # binary flag needed for Windows
    output.write(conn.read())
    output.close()