如何获取 Youtube 可怕的 URL

如何获取 Youtube 可怕的 URL

我要去 wget youtube 搜索页面,那里的 URL 很糟糕。这是searchkeyword按上传日期排序搜索时的示例:

wget http://www.youtube.com/results?search_type=videos&search_query=searchkeyword&search_sort=video_date_uploaded&suggested_categories=26%2C27%2C22%2C28%2C24

这是搜索结果的第 2 页:

wget http://www.youtube.com/results?search_type=videos&search_query=searchkeyword&search_sort=video_date_uploaded&suggested_categories=26%2C27%2C22%2C28%2C24&page=2

wget 给我提供了两个页面的误导性页面。

答案1

将 URL 用单引号括起来应该可以解决问题。另外,您还需要为下载的文件命名(否则它将具有wget从 URL 猜测的奇怪名称)。所以

wget 'http://www.youtube.com/results?search_type=videos&search_query=searchkeyword&search_sort=video_date_uploaded&suggested_categories=26%2C27%2C22%2C28%2C24' -O nice_name.html

根据 laebshade 的评论进行解释(感谢提醒我):URL 中的许多有趣的字符将由作为特殊命令或其他控制序列。从我的头顶上看,~! # ^ & * 对于 shell 来说都有其他含义(取决于您使用的 shell)。您可以使用\它们一一转义,或引用整个内容。

答案2

不要用于wget下载单个页面。它更适合诸如整个站点的递归下载之类的事情。尝试curl一下。

另外,请确保在命令行上引用参数,这样就不会遇到诸如?.

curl 'http://www.youtube.com/results?search_type=videos&search_query=searchkeyword&search_sort=video_date_uploaded&suggested_categories=26%2C27%2C22%2C28%2C24&page=2' \
    > results.html

答案3

使用youtube-dl用于下载 YouTube 视频。这是一个史诗般的Python脚本。它需要Python。如果您有Ubuntu,请使用此命令安装:sudo apt-get install youtube-dl否则您可以直接从网站下载:http://rg3.github.com/youtube-dl/

相关内容