GNU/Linux下,笔者最常使用的下载软件有wget,amule,lftp,aria2c
这几款软件都酷毙了,都可以在命令行下使用,功能强大。
1. wget
wget用得最多,经常用来写脚本。
其中,'-c'选项用于继传,'-i'选项用于指定下载列表文件。
1) 递归下载静态网站的示例:
$ wget -r -p -np -k http://oreilly.com/openbook/freedom/ |
运行以上命令,下载'Richard Stallman自传与自由软件运动历史'的电子书<<Free as in Freedom>>到本地,以便断网时阅读
2) cookie欺骗的示例:
// 获得cookie $ wget --post-data="username=c-aries&password=密码不告诉你" --save-cookies= cookie --keep-session-cookies "http://bbs.linuxeden.com/logging.php?action= login&loginsubmit=true" // 用cookie进行帐户登录后的爬虫 $ wget -r -x --load-cookies=cookie --keep-session-cookies "http:// bbs.linuxeden.com/forum-89-1.html" |
详情可阅读文章最后的网络资源1
2. amule
amule相当于GNU/Linux下的迅雷。在家用AD,下载速度通常为200K/S,喜欢它的自带搜索引擎。
1) 介绍几款相关程序的功能。
amule: 整合了amule服务器和amule图形界面客户端的功能,方便一般用户使用。
amuled: amule服务器。运行'amuled'命令即能使用,运行'amuled -f'命令即使关闭终端服务器仍然在后台运行。
amule-daemon: amule服务器管理脚本。配置好后,运行'sudo /etc/init.d/amule-daemon start'启动amuled。用rcconf可设置amule-daemon开机启动。
amulecmd: amule命令行界面客户端。配合amule-daemon一起使用,做坏事不会被人发现。
amulegui: amule图形界面客户端。amule=amuled+amulegui。
amuleweb: amule网页服务器。运行'amuleweb -A 访问密码'命令,默认设置下,通过浏览器访问'http://你的IP:4711',输入访问密码即可管理amule。
笔者选用amule-daemon(包含amuled)+amulecmd+amulegui的方案
** 注意! **
使用amulecmd或amulegui访问本机的amule服务器,请先确保lo已启用。
如amulecmd,amulegui不能正常使用,可试试运行'sudo ifconfig lo up'。
还有一个问题,amulecmd的输出太长,无法用more命令怎么办?
目前笔者知道的解决方案有三个,这里选用在emacs下的shell运行amulecmd,使用emacs的光标移动功能。
2) 配置
最小配置:
填入可用服务器列表,以amule程序为例,填入以下http链接到'网络->服务器'
ed2k
[OK] http://www.emule.org.cn/server.met
[OK] http://gruk.org/server.met.gz
kad
[OK] http://www.emule-inside.net/nodes.dat
参考: 每天可用ed2k服务器地址 http://ed2k.2x4u.de/list.html
扩展配置(使amulecmd和amulegui可用):
$ echo -n "你的密码" | md5sum // 得到你的密码的md5sum字符串,如 b5e429559e34c764fd3dd7df1b5b18a7 $ cat ~/.aMule/amule.conf ... AcceptExternalConnections=1 ECPassword=b5e429559e34c764fd3dd7df1b5b18a7 // 填入你的密码的md5sum字符串 ... $ amulecmd --create-config-from=~/.aMule/amule.conf // 不是必要的命令,使运行amulecmd命令时免密码访问 $ cat /etc/default/amule-daemon ... AMULED_USER="你的用户名" //填入你的用户名 ... |
3. lftp
lftp是ftp客户端程序。解决乱码问题非常方便,mirror命令能下载整个文件夹。
$ cat /etc/lftp.conf ... set ftp:charset "gbk" set file:charset "utf-8" ... |
如果ftp服务器端的字符集为GBK,添加以上set语句到/etc/lftp.conf,乱码问题即能解决。
还有一个问题,要下载的文件名无法用键盘输入时怎么办?
笔者选用在emacs下的shell运行lftp,使用emacs的复制功能。
4. aria2c
命令行下的bt下载程序。和使用amulecmd一样,做坏事不会被人发现。
使用实例
$ aria2c -s 5 --max-upload-limit=5K -T 21世纪摩天轮.torrent // -s 5 分段下载文件,加速下载 // --max-upload-limit=5K 限制最大小传速度为5K/S |
网络资源
1. 用wget实现cookie欺骗
http://blog.linuxeden.com/index.php/196616/viewspace-7560.html
时间:2010-01-31 13:53
来源:Linuxeden
作者:c-aries
原文链接