我正在尝试从youtube.com
下载视频并将其保存到文件中。
我以为我可以用蟒蛇requests
做到这一点。
这是我的小代码:
import sys
import requests
def download_file ( url ):
local_filename = url.split( '/' )[-1]
r = requests.get( url, stream = True )
with open( local_filename, 'wb' ) as f:
for chunk in r.iter_content( chunk_size=1024 ):
f.write( chunk )
def main ( ):
url = 'https://www.youtube.com/watch?v=q6UJcLyYJ14'
download_file( url )
if __name__ == "__main__":
main( )
我希望数据能够流入文件。但事实并非如此。我只是将html代码放入文件中,然后程序结束。
我做错了什么?
感谢您的帮助。
答案 0 :(得分:0)
问题是youtube视频不是您拥有的网址上的静态文件。如果你检查html代码,你会发现视频的src不是你拥有的页面。即使你要用“src”替换网址,我也不认为youtube会允许你按照自己的方式下载视频。
<video tabindex="-1" class="video-stream html5-main-video"
style="width: 640px; height: 360px; left: 0px;
top: 0px; opacity: 1;" src="blob:https://www.youtube.com/e779f2eb-
b153-4022-a888-1b9b34b9dfa8">
</video>