编程语言
首页 > 编程语言> > 使用javascript自动滚动定期从网站上抓取并下载所有图像

使用javascript自动滚动定期从网站上抓取并下载所有图像

作者:互联网

我发现一个网站上有很多高质量的免费图像托管在Tumblr上(它说你想用主题图片做任何事情:P)

我在Ubuntu 12.04LTS上运行.我需要编写一个定期运行的脚本(比如说每天)并只下载之前没有下载过的图像.

附加说明:它有一个javascript自动滚动器,当你到达页面底部时会下载图像.

解决方法:

The fantastic original script done by TMS不再适用于新的unsplash网站.这是一个更新的工作版本.

#!/bin/bash
mkdir -p imgs
I=1
while true ; do # for all the pages
        wget "https://unsplash.com/grid?page=$I" -O tmppage

        grep img.*src.*unsplash.imgix.net tmppage | cut -d'?' -f1 | cut -d'"' -f2 > tmppage.imgs

        if [ ! -s tmppage.imgs ] ; then # empty page - end the loop
                break
        fi

        echo "Reading page $I:"
        cat tmppage.imgs | while read IMG; do

                # for all the images on page
                TARGET=imgs/$(basename "$IMG")

                echo -n "Photo $TARGET: "
                if [ -f $TARGET ] ; then # we already have this image
                        echo "file already exists"
                        continue
                fi
                echo -n "downloading (PAGE $I)"

                wget $IMG -O $TARGET
        done
        I=$((I+1))
done

标签:javascript,linux,web-scraping,autoscroll
来源: https://codeday.me/bug/20190715/1467616.html