linux學習:wget與lynx用法整理


指令:wget、lynx、axel

wget url        #下載數據寫入文件,下載的文件名與url中的文件名保持一致,下載信息或進度寫入stdout
wget url1 url2 url3    #下載多個文件
wget ftp://example.com/test.img -o download.img -o log #下載時日志或進度寫入日志文件,輸出文件為download.img
wget -t 5 url      #下載文件,參數-t指定重試次數
wget --limit-rate 20k http://example.com/file.iso #對wget限速
wget -Q 100m url1 url2     #使用參數-Q或者--quota指定最大下載配額為100M,當下載的文件超過100M時,立即停止下載。
wget -c url            #如果使用wget進行的下載在完成之前被中斷,可以利用選項-c從斷點開始繼續下載。即斷點續傳。
wget --mirror exameple.com  #遞歸收集網頁上的所有URL鏈接並逐個下載,即整站下載
wget -r -N -l DEPTH url     #同上,-l指定頁面層級DEPTH,-N允許對文件使用時間戳,-r表示遞歸
wget --user username --password passwd url      #訪問需要認證的頁面
wget URL -post-data "name=value" -o output.html     #post數據到URL,並將返回的數據寫入文件output.html

wget -r http://www.website.com    #遞歸下載整個網站

wget -r -A png,pdf http://www.website.com      #從一個網站下載指定類型的文件(例如 pdf 和 png).

 

lynx -dump http://www.test.com/index.html | grep -o "Rank-*" | sed 's/Rank-//; s/\[[0-9]\+\]//' | sort -nk 1 | awk '{ for(i=3;i<=NF;i++){ $2=$2" "$i } print "%-4s $s\n", $1,$2; }' > test.txt   #lynx是一個命令行的網頁瀏覽器,訪問網址內容並寫入文件


axel -n 5 http://www.xxx.com/downloadfile.zip  #5個線程下載


----------------------------------------
圖片抓取及下載:
filename:img_downloader.sh
運行:./img_downloader.sh http://www.test.com -d images
#!/bin/bash
if [ $# -ne 3 ];
then
echo "Usage: $0 URL -d DIRECTORY"
exit -1
fi

for i in {1..4}
do
case $1 in
-d) shift; directory=$1; shift ;;
*) url=${url:-$1}; shift;;
esac
done

mkdir -p $directory;
baseurl=$(echo $rul | egrep -o "https?://[a-z.]+")

curl -s $url | egrep -o "<img src=[^>]*>" | sed 's/<img src=\"\([^"]*\).*/\1/g' > /tmp/$$.list

sed -i "s|^/|$baseurl/|" /tmp/$$.list
cd $directory;
while read filename;
do
curl -s -O "$filename" --silent
done < /tmp/$$.list
----------------------------------------
網頁相冊生成器:
filename:web_images.sh
注:要使用convert需要iamgemagick支持。sudo apt-get install imagemagick
#!/bin/bash
echo "Creating album.."
mkdir -p thumbs
cat <<EOF > index.html
<html>
<head>
<style>
body
{
width:470px;
margin:auto;
border:1px dashed grey;
padding:10px;
}
img
{
margin:5px;
border:1px solid black;
}
</style>
</head>
<body>
<center><h1> #Album title </h1></center>
<p>
EOF

for img in *.jpg;
do
convert "$img" -resize "100x" "thumbs/$img"
echo "<a href=\"$img\" ><img src=\"thumbs/$img\" title=\"$img\" />
</a>" >> index.html
done

cat <<EOF >> index.html

</p>
</body>
</html>
EOF
echo Album gennrated to index.html
-------------------------------------------------
查找網站中的無效鏈接:
filename:find_broken.sh
if [ $# -eq 2]
then
echo -e "$Usage $0 URL\n"
exit -1
fi
echo Broken links:
mkdir /tmp/$$.lynx
cd /tmp/$$.lynx
lynx -traversal $1 > /dev/null
count =0;
sort -u reject.dat > links.txt
while read link;
do
output=`curl -I $link -s | grep "HTTP/.*OK"`;
if [[ -z $output ]];
then
echo $link;
let count++
fi
done < links.txt
[ $count -eq 0 ] && echo No broken links found.
-----------------------------------------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM