![用于下载视频的 WGET 命令行](https://linux22.com/image/1228735/%E7%94%A8%E4%BA%8E%E4%B8%8B%E8%BD%BD%E8%A7%86%E9%A2%91%E7%9A%84%20WGET%20%E5%91%BD%E4%BB%A4%E8%A1%8C.png)
我正在尝试使用 WGET 下载一些视频http://windowsclient.net/learn/videos_wpf.aspx。
该页面是索引页,包含指向每个视频页面的链接;每个页面都有一个指向视频的直接链接。类似于;
http://windowsclient.net/learn/videos_wpf.aspx
-> http://windowsclient.net/learn/video.aspx?v=300881
-> http://download.microsoft.com/[...]/HDI-WPF-ipod-AccelerometerJoystick(2).mp4
我想做的是告诉 WGET 通过递归跟踪video.aspx?*
或.mp4
链接来爬取网站,两级跟踪。我可以弄清楚
WGET -r -l2 http://windowsclient.net/learn/videos_wpf.aspx
然后我就卡住了。非常感谢任何建议。
编辑:感谢@mloskot,我得到了答案;
WGET -r -l2 -A.mp4,video*.aspx*
--domains=windowsclient.net,download.microsoft.com
--span-hosts
http://windowsclient.net/learn/videos_wpf.aspx
答案1
了解-A
选项2.11和 wget 手册的 4.2 章并使用此选项指定要接受的文件名后缀或模式的逗号分隔列表换句话说,使用-A
指定您只想下载mp4
扩展名为的文件:
WGET -r -l2 -A.mp4 http://windowsclient.net/learn/videos_wpf.aspx
答案2
我发现添加 -np 标志(无父级)有帮助,可以防止它下载大量其他页面,而不仅仅是我试图处理的页面上的视频。