1

我住在一个无线 ISP 非常不稳定的农村地区,因此流式传输内容(尤其是数小时的视频教程)是一个痛苦的过程。我希望能够在睡觉时获取视频,以便第二天进行审查。因此,我尝试使用 wget 从 links.txt 中获取文件以将它们存储在本地,然后简单地使用 cron 作业为我安排它。不幸的是,有一个小问题:

wget --save-cookies cookies.txt --post-data 'username=user&password=pwd' \ 
-erobots=off --secure-protocol=SSLv3 --no-check-certificate \
https://www.domain.com/login.aspx

wget --load-cookies cookies.txt --content-disposition 
--user-agent="Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.3) \
Gecko/2008092416 Firefox/3.0.3" -l1 -H -t1 -nd -N -np -r -A.mp4 \
-erobots=off -w5 -i ../links.txt 

第一个命令成功地获取网站 cookie 信息并将其记录在相应的 cookies.txt 中。后者使我能够成功登录网站并开始获取内容;但是,它只是检索 page.html(然后由于预期的 -r A.mp4 标志而将其丢弃)。不幸的是,它没有解析 page.html 中的动态链接以获取RandomGeneratedFilename.mp4我需要的内容。有什么我想念的吗?

即使我让它获取 page.html 文件,链接中也没有文件名/扩展名,href="a/dynamic/path"所以它为什么不能保存 .mp4 是有道理的。但是,我怎样才能让 wget 递归地遵循该 href 以确定适当的文件名并保存它?

值得庆幸的是,StackOverflow 和 Google 已经让我了解到目前为止要通过的正确标志以及如何成功进行身份验证,但我没有任何运气弄清楚最后一步。我我将不得不编写一个 bash 脚本并使用 awk 和 sed 的组合来做到这一点,但老实说我不确定......

目前我正在使用浏览器插件来执行此操作,这是一个非常手动的过程。此时,我不妨只是流式传输视频并通过网站观看它,如前所述,这在我的情况下不太实用。:(

我真的很感谢你们提供的任何时间和见解,因为这将是一个巨大的福音!提前致谢。

4

0 回答 0