zoukankan      html  css  js  c++  java
  • 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 ", $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
    {
    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 "
    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.
    -----------------------------------------------------

  • 相关阅读:
    JavaScript 正则表达式(RegExp)
    impala 时间格式转换
    Informatica TO_BIGINT,TO_DECIMAL 转 字符串
    Hive metastore三种配置方式
    Windows10 从零搭建 Hadoop/Hive 环境及 Hive 入门
    Window 安装Hive
    使用dynamic-datasource-spring-boot-starter配置多数据源
    Sqoop 安装与简单测试
    使用dynamic-datasource-spring-boot-starter做多数据源及源码分析
    真正了解sqoop的一切
  • 原文地址:https://www.cnblogs.com/LO-gin/p/6913605.html
Copyright © 2011-2022 走看看