我要去 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
Run Code Online (Sandbox Code Playgroud)
这是搜索结果的第 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
Run Code Online (Sandbox Code Playgroud)
wget 为我提供了两个页面的误导性页面。
将 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
Run Code Online (Sandbox Code Playgroud)
根据 laebshade 的评论解释(感谢提醒我):URL 中的许多有趣的字符将被shell解释为特殊命令或其他控制序列。从我的头顶,〜!# ^ & * 对 shell 来说都意味着别的东西(取决于你使用的是什么 shell)。你可以用\
它们一一转义,或者引用整件事。