使用 WGET 从 Mediafire 下载 RAR 文件

6 networking linux script wget ubuntu

例子: http://www.mediafire.com/?tjmjrmtuyco

这是我试过的...

wget -A rar [-r [-l 1]] <mediafireurl>
Run Code Online (Sandbox Code Playgroud)

也就是说,我尝试了使用和不使用递归选项。它最终下载了几个 KB 大小的 HTML 页面,而我想要的是 90-100 MB 和 RAR。

对于那些可能不知道的人来说,MediaFire 会发生什么,它首先说

正在处理下载请求...

大约一秒钟后,此文本变成下载链接并阅读

点击这里开始下载..

如果有人告诉我如何为这种情况编写合适的脚本,我将不胜感激。

小智 6

Mediafires 服务条款

服务的一般使用、权限和限制

您同意在使用 MediaFire 服务时,您不得:

更改或修改服务的任何部分;

将服务用于任何非法目的;

使用任何机器人、蜘蛛、离线阅读器、站点搜索和/或检索应用程序或其他设备来检索或索引服务的任何部分,公共搜索引擎除外

因此,基本上通过使用 Mediafire 通过其网站提供的工具以外的任何工具,您实际上违反了他们的服务条款。

  • 但是,如果“wget”算作“检索应用程序”,那么浏览器也算作...我认为他们正在谈论抓取整个网站的东西 (3认同)

小智 5

其实是可以做到的。你需要做的是:

  • 转到链接,就像您要下载到您的计算机一样
  • 当“下载”按钮出现时,“右键单击”并复制链接并将其添加到您的wget.

会是这样的

wget http://download85794.mediafire.com/whatever_your_file_is
Run Code Online (Sandbox Code Playgroud)

  • 遗憾的是不再工作了,他们只提供 .html (2认同)

小智 5

bash函数:

mdl () {
url=$(curl -Lqs "$1"|grep "href.*download.*media.*"|tail -1|cut -d '"' -f 2)
aria2c -x 6 "$url" # or wget "$url" if you prefer.
}
Run Code Online (Sandbox Code Playgroud)

示例:
$ sudo apt install aria2
$ mdl " http://www.mediafire.com/?tjmjrmtuyco "

01/14 13:58:34 [通知] 下载 1 项
38MiB/100MiB(38%) CN:4 DL:6.6MiB ETA:9s]


Mac*_*uin 4

我自己从未尝试过,但您可以尝试“欺骗”网站的一些方法。

例如,--referer将让您指定一个引用 URL - 也许该网站希望您来自特定的“主页”页面或其他内容:使用此选项 wget 将假装它来自那里。

另外,--user-agent将使 wget “假装”它是一个不同的代理 - 即像 Firefox 这样的浏览器。

--header可以让你伪造整个 HTTP 请求来模仿浏览器的请求。

如果这些都不起作用,还有更多选项,处理 cookie 和其他高级设置:man wget针对整个列表。

我希望这对您有所帮助:如果您成功了,请发布您是如何做到的!