|
1 本版确实有很多有用的源码,但是有一些源码不完整,或者是后台不完整(免费版,广告版)请不要发布。建议在题目上注明,不要浪费大家时间。
2 可以增加一些技术性的讨论主题。下面转载:
wget的几种典型用法2007-08-17 11:37 P.M.Wget可以下载http和ftp网站文件,小命令但功能强,它的参数很多,但常用的不多。
一. 最简单的用法 wget http://download.xxx.com/soft/software.tar.gz
二. 下载整个网站
wget --mirror [--convert-links] http://www.gnu.org/ 或短写参数: wget -m [-k] http://www.gnu.org
-m / --mirror:镜像整个网站,它与“-r -l inf -N”这三个参数一起用效果相同 -r / --recursive:以递归方式抓取 -l depth / --level=depth:递归的深度,缺省最大值为5,0或inf表示无限多 -N / --timestamping:时间戳,不知道有什么用 -k / --convert-links:在全部下载完成之后,修改已下载页面中的链接,如果链接所指向的文件也下在本地了,就指向这个文件,否则,就指向http上原来的文件
三. 下载特定类型的文件
下载图片: wget -m -p -np -nd --accept=jpg,jpeg,png http://www.xxx.com/top/page.html
-np / --no-parent:不下载指向上层的链接 --reject=avi,rmvb:不下载'.avi','.rmvb'类型的文件 --accept=jpg,jpeg:只下载'.jpg','.jpeg'类型的文件
四. 下载MP3
无人看守下载: 把文件的URL,如在百度搜的mp3的URL,存成一个文件,如songs,执行: wget --input-file=songs --continue --timeout=20 --tries=5 即逐个下载songs中的URL,断点续传,对每个文件20秒超时重试5次
即时并行下载MP3 (后台执行): 写一脚本实现更好的功能: echo 'Usage:' echo ' Enter "URL filename" for each file to download.' echo ' Enter "bye" to exit.' while read -p '> ' url name; [ "$url" != "bye" ] do if [ "$name" != "" ] then OUT="-O $name.${url##*.}" else OUT="" fi if [ "${url##*.}" == "$url" ] then echo "\"$url\" is an unexpected URL." else wget --continue --timeout=20 --tries=5 --background --output-file=/dev/null $url $OUT fi done echo ' enjoy!' 存为文件“downsong”,并赋之予可执行权限。 用法: ./downsong > http://music.xxx.com/zyfx.mp3 自由飞翔 > http://music.xxx.com/qtbhl.wma 秋天不回来 > http://music.xxx.com/zgh.mp3 ...... 输完敲“bye”退出,wget会在后台同时下载各个文件,这种方法比较快,用“ps aux | grep wget”查看进程。
五. 其它有用的参数说明
--tries=number / -t number:指定连接失败时重试次数,0或inf表示无限重试,缺省值为20。但如果遇到“连接被拒绝”或“文件没找到(404)”之类的错误,则不重试
--timeout=seconds / -T seconds:指定seconds秒连接超时
--input-file=file / -i file:读取file中的URL下载,如果用‘-’代替file,则从标准输入读取URL
--output-document=file / -O file:指定输出文件名为file
--no-clobber / -nc:通常在遇到下下来的文件重名,wget将为后下的文件加上‘.1’,‘.2’等加以区分。如果用了这个参数,则一旦后下的文件将与先下的同名,将不再下载后下的文件而保留先下的不变
--no-directories / -nd:保存文件时,即使原来不在一起的文件,也不创建文件夹,所有文件全放在当前目录下
--page-requisites / -p:下载html文件时,把与它有关的图片,声音,脚本等相关文件一同下下来
--continue / -c:启用断点续传
--background / -b:在后台下载,不占用命令行。此时若没用‘-o’指定把输出信息送到哪个文件,会自动把输出信息送入当前目录下的wget-log中
--output-file=logfile / -o logfile:指定输出信息送入logfile
--quiet / -q:关闭输出信息
# 参考资料:wget manpage.
|