前言:
前一阵才遇到过批量下载文件的问题,今天博友 木木 同学又遇到了,于是整理下思路,方便日后再操作之需。
需要下载数量很多的文件(大于500个,格式不限),文件的下载链接在 Html 页面中,若手动下载,需要:(打开-下载-保存-打开-下载-保存)循环N次,因此何不叫计算机来干这些事情么。
注:目前所有的 下载软件 均无法完成 本文要求的任务!每个文件的后缀都是 无规律的 乱码!!
1、使用 PHP 等语言 暴力抓取页面 HTML 内容,之后分析处理,提取有用的下载链接保存成 TXT 文件->
2、把那个 TXT 文件,在记事本或Notepad++等编辑软件中,使用批量替换,生成需要的http下载链接->
3、把这一批链接做成一个 metalink 文件,这个文件格式下面会介绍;
4、使用 firefox 的一个插件->DownThemAll
,导入metalink 文件,之后所有的文件都下载下来了。
关于metalink 文件: 维基传送门
首先这个文件格式是严格规则的 XML 格式,是个偏底层下载协议,相当于BT种子啦,只不过你可以自己做做。
<files> <file name="名字可以重复"><resources><url type="http" preference="100">这里是下载地址</url></resources> </file>
上面的就一个下载链接的最简描述,于是便实现了批量下载的实现。
关于 火狐插件DownThemAll:这是一个相当火的下载插件,而我们要用的是它的高阶用法,用法如下:
点击: 火狐导航栏–工具–DownThemAll–管理器—[空白处右击]–其他–从文件导入。
附:同时下载N个文件的华丽截图:
- Pingback on 2010/07/09/ 16:12
HOHO,我来啦~~~
@林木木: 沙发就是本文的受益者
@Dianso: 后缀是乱码,怎么编辑。。。
HOHO,我也来啦~~
支持批量下载的软件很多啊,迅雷就可以选择后缀,批量下载吧
@Dianso: 要载的东西不在同一个页面的,多个页面的~
嗯 基本上是个很不常用的功能
迅雷不是能吗?
类似爬虫抓取?
@Louis Han: 超级不常用,遇到了才解决
@竹纤维: 这个问题面前迅雷太弱了
@阿邙: 是的,暴力抓取
博客更新的不错。支持
郁闷 怎么上次的留言没显示出来呢? 请问是怎么回事呀 谢谢
@淘宝网减肥药, 你进了spam了,囧
网页右键->使用迅雷下载全部链接->使用可视化框选方式下载
@Neeke: 哈哈,每个页面只有一个链接,3000个文件分布在3000个页面。所以说已知的下载方法均无解
把火狐当迅雷了
早看到这文就省了我前几天蛋疼的3个多小时机械动作了
@oumu: 还是你有耐性啊,我受不了
@单机游戏基地: 待下载文件名是 乱码,没有规律 怎么下?
填填更健康
请问这个留言有国家,浏览器的是什么插件