Linux Shell编程实战---shell实现图片下载神器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux Shell编程实战---shell实现图片下载神器相关的知识,希望对你有一定的参考价值。

$ cat dowonload_image.sh 
#!/bin/bash
#########################################
#图片下载器                              #
#script_name: dowonload_image.sh         #
#author:weixiaoxin write by 2017-09-20   #     
#########################################
 
function get_second_level_url(){
  #declare -A url_array
  UA="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (Khtml, like Gecko) Chrome/19.0.1055.1 Safari/535.24"
  curl -s -o tmp.html -H "User-Agent: $UA"  $1
  u=`cat tmp.html|grep -E -o "/Html/63/[0-9]+\.html\" target=\"_blank\"><span>[0-9]{2}-[0-9]{2}</span>"|sed ‘s/ /_/ ‘`
  for line in $u
  do
    #echo $line
    url=`echo $line|grep -E -o "/Html/63/[0-9]+\.html"`
    datetime=`echo $line|grep -E -o "[0-9]{2}-[0-9]{2}"`
    url_date+="$url,$datetime\n"
    #url_array[$url]=$datetime
  done
 
  echo  ${url_date}
}
 
 
function get_image(){
  UA="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24"
  curl -s -o tmp.html -H "User-Agent: $UA"  $1
  title=`cat tmp.html|grep -E -o "<title>.*</title>"|sed ‘s/[<title>|</title>]//g‘`
  datetime=$2
  img_url=`cat tmp.html|grep -E -o "https://img.997pp.com/tp/[0-9]{4}/[0-9]{2}/[a-zA-Z0-9]+.jpg"`  
  
 
  if [ ! -d "data/${datetime}/${title}" ]
  then
    mkdir -p data/$datetime/${title}
  fi
 
  n=1
  for i in $img_url
  do
    echo $i
    i=`echo $i|sed ‘s/https/http/g‘`
    curl -s -o data/${datetime}/${title}/$n.jpg -H "User-Agent: $UA"  $i
    sleep 2
    let n=n+1
    echo $n
  done
}
 
baseurl="https://www.1368k.com/Html/63/"
first_url="${baseurl}index.html"
 
second_url=`get_second_level_url ${first_url}`
 
for line in `echo -e $second_url`
do
  #echo $line
  url=`echo $line|awk -F‘,‘ ‘{print $1}‘`
  url="https://www.1368k.com/$url"
  datetime=`echo $line|awk -F‘,‘ ‘{print $2}‘`
  #echo $url $datetime
  get_image $url $datetime
 
  sleep 5
done


本文出自 “微小信的运维之道” 博客,请务必保留此出处http://weixiaoxin.blog.51cto.com/13270051/1964208

以上是关于Linux Shell编程实战---shell实现图片下载神器的主要内容,如果未能解决你的问题,请参考以下文章

Shell编程实战

Linux系统shell脚本编程——生产实战案例

Linux实战——Shell编程练习(更新12题)

shell实战:多种方式实现获取列内容

Linux Shell编程实战---以逆序形式打印行

Linux Shell编程实战---计算特定目录下前10个大文件