抓取豆瓣top250电影剧照

引用了shell多线程的方法,每次下载五个剧照并命名。

#/bin/bash



# 设置并发的进程数
thread_num=5


a=$(date +%H%M%S)




# mkfifo
tempfifo="my_temp_fifo"
mkfifo ${tempfifo}
# 使文件描述符为非阻塞式
exec 6<>${tempfifo}
rm -f ${tempfifo}


# 为文件描述符创建占位信息


for ((i=1;i<=${thread_num};i++))
do
{
    echo
}
done >&6


echo "==========================="
for i in `seq 0 25 249`;do
   movename=`curl https://movie.douban.com/top250?start=$i |grep '<img width="100"'|awk -F '"' '{print $4}'|sed s/[[:space:]]//g`
   pictureurl=`curl https://movie.douban.com/top250?start=$i |grep '<img width="100"'|awk -F '"' '{print $6}'`
   move=($movename)
   picture=($pictureurl)
   for(( i=0;i<${#move[@]};i++)) do
   {
       echo "%%%%"
       read -u6
       {
           #sleep 1
           wget -O ${move[i]} ${picture[i]}
           echo "" >&6
       } &
    }
    done
done


    wait


# 关闭fd6管道
    exec 6>&-


b=$(date +%H%M%S)


echo -e "startTime:\t$a"

echo -e "endTime:\t$b"



shell多线程方法建此博客。

https://www.cnblogs.com/signjing/p/7074778.html

有时间研究下如何抓取一个豆瓣用户的电影品味,顺便研究下shell的代理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值