本文主要是介绍抓取豆瓣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的代理。
这篇关于抓取豆瓣top250电影剧照的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!