Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.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 空响应,但浏览器下载视频_Python_Download_Python Requests - Fatal编程技术网

Python 空响应,但浏览器下载视频

Python 空响应,但浏览器下载视频,python,download,python-requests,Python,Download,Python Requests,我一直在尝试下载一些带有python代码的视频。当我运行代码时,它总是下载一个空文件,但是如果我在web浏览器(Chrome)中打开URL,它会正确下载文件。代码的响应是 标题: {'Server': 'nginx', 'Date': 'Sat, 18 May 2019 17:31:02 GMT', 'Content-Type': 'application/download', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-ali

我一直在尝试下载一些带有python代码的视频。当我运行代码时,它总是下载一个空文件,但是如果我在web浏览器(Chrome)中打开URL,它会正确下载文件。代码的响应是

标题:

    {'Server': 'nginx', 'Date': 'Sat, 18 May 2019 17:31:02 GMT', 'Content-Type': 'application/download', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=20', 
    'Content-Disposition': 'attachment; filename=video0.mp4', 'Content-Description': 'File Transfer', 
    'Content-Encoding': 'gzip', 'Vary': 'Accept-Encoding', 'X-Clacks-Overhead': 'GNU Terry Pratchett', 'X-HTTPS-Protocol': 'TLSv1.2',
    'X-HTTPS-Cipher': 'ECDHE-ECDSA-AES256-GCM-SHA384'}
我从回复中获得的内容:

    b''
我试图下载的代码是

def下载视频(文件名、url): response=requests.get(url,stream=True) 打开(文件名为“wb”)。写入(response.content) 打印(“下载”+文件名)
有没有其他方法可以让这一切顺利进行?提前感谢您

您应该将其分块编写。如果它是一个大文件,请尝试以下方法:

def downloadVideo(filename, url):
    with requests.get(url, stream=True) as r:
        with open(filename, 'wb') as f:
            for chunk in r.iter_content(chunk_size=8192): 
                if chunk:
                    f.write(chunk)
    print ("Downloaded " + filename)