linux多线程网页截图-shell
老大临时安排任务,要定期对大量(万为单位)的网站截图并归档保存。最早使用的是window下的一个解决方案:webshotcmd.exe+批处理。 运行了一段时间,发现经常弹出webshotcmd.exe程序未响应的窗口,需要人工点击确定后才能继续截图,而且webshocmd未注册版本截出的 图是灰色的,不方便查看。 google了下,发现了linux的两个截图工具cutycapt和phantomjs,经过测试,cutycapt截图较慢,但比较稳定,phantomjs截图速度较快,但时有出现进程假死的情况。权衡利弊,决定使用cutycapt+shell脚本的方式截图: webshot.sh #/bin/bash #webhsot #by caishzh 2013 WEBSHOTDIR="/data/webshot" mkdir -p $WEBSHOTDIR while read LINE do DISPLAY=:0 cutycapt --url=http://$LINE --max-wait=90000 --out=$WEBSHOTDIR/$LINE.jpg >/dev/null 2>&1 done<domain.txt 脚本很简单,就不注释了,domain.txt是网址列表。 cutycapt的安装和使用参照这里 。 执行脚本,可以正常截图,图片质量也很高。但另一个问题出现了