不用Python教你自动爬取高清壁纸原图—Instant Data Scraper应用篇

上一篇文章《全网最简单的数据采集自动化工具——Instant Data Scraper》给大家带来一个神奇的浏览器插件,可以自动获取网页上的数据,并保存为excel表格形式,可进行大数据分析、数据统计等进一步操作,通过Instant Data Scraper可以实现的远比我们想象的多的多,基本用法掌握不变的情况下,搭配使用合理利用,你将会解锁更多新的数据获取自动化方式。

如果通过Instant Data Scraper自动化获取高清壁纸或者其他图片资源?相信大部分都会有这样的需求,懂点技术的或许知道,也有很多浏览器插件实现网页图片自动采集的功能,以及通过python爬虫也可以实现自动爬取高清壁纸网站的图片并自动下载保存,本文通过上一篇带给大家的数据获取自动化插件Instant Data Scraper来实现这样的效果,本文提到的方法可能是全网唯一一个通过这种方法实现高清图片下载的方法,想要get到这个方法的小伙伴建议先阅读上一篇文章《全网最简单的数据采集自动化工具——Instant Data Scraper》了解Instant Data Scraper的安装及基本用法。

主要流程思路

  1. 通过Instant Data Scraper获取到每张图片的地址或者缩略图
  2. 通过观察对比原图片的地址链接,根据缩略图地址修改成原图片链接
  3. 通过批量下载工具进行图片的下载得到高清壁纸原图

所需工具

  • Edge等其他Chrome内核的浏览器
  • 安装Instant Data Scraper浏览器插件
  • 能正常编辑excel的office应用,如:微软office或者WPS
  • 支持批量下载的下载工具,如:迅雷、IDM等

两个免费无版权高清壁纸网站

Instant Data Scraper采集WallpapersWide网站高清壁纸原图方法

WallpapersWide高清壁纸网站

  1. 打开上面WallpapersWide壁纸网站,首页上方可选择最近更新壁纸(Latest Wallpapers)或者高评分壁纸(Top Wallpapers),也可以选择左边分类(Categories)选择想要的分类壁纸。【下方我以首页壁纸为例,通过Instant Data Scraper获取原图】

Instant Data Scraper获取图片列表

2.点击Instant Data Scraper得到一个列表,发现并非是想要的首页壁纸列表,点击Try another table 按钮切换下一个列表视图,直到选择到我们想要的图片列表区域(红色边框圈选位置),通过Instant Data Scraper统计展示看到当前页面一共有18张图片,跟实际情况相符合

3.拖动页面到底部,选择“Location “Next" Button”,然后选择翻页按钮,此网页的翻页按钮时最下方的"Next",选中之后“Next”会显示绿色

Instant Data Scraper选择翻页按钮

4.根据网络情况及网站加载速度,调整最小和最大延迟间隔时间,可以自己尝试下一页观察加载时间情况,建议3-8秒,然后选择“Start crawling”按钮开始采集每一页的壁纸列表。

Instant Data Scraper设定时间间隔

5.获取到足够多的数据,点击“Stop crawling”停止获取,然后选择XLSX格式下载,这样我们就完成了原始数据采集操作

完成数据采集并下载保存为XLSX表格格式文档

下载并用office打开表格,我们可以看到结果,首行显示的时具体类别,我们通过观察可以总结,第一列是图片网页链接,第二列是图片名称,第三列是评价|下载量,第四列是图片缩略图链接,以及其他内容在此不做列举,对与我们想要下载原图,其实只需要第一列的图片网页链接即可。

分析原图链接与获取到的图片网页链接或缩略图链接对比,批量进行修改

我们打开一个图片网页链接,然后选择合适的分辨率进行下载,得到这张图片的真实下载链接如下:

WallpapersWide网站原图下载链接

我们将得到的原图下载链接与图片详情页链接以及缩略图链接放到一块进行对比如下:

图片详情页链接:http://wallpaperswide.com/cute_anime_girl_2-wallpapers.html
图片缩略图链接:http://hd.wallpaperswide.com/thumbs/cute_anime_girl_2-t1.jpg
图片原图链接:http://wallpaperswide.com/download/cute_anime_girl_2-wallpaper-1920x1080.jpg

通过对图片原图链接分析我们得到原图链接的规律如下:

由"网站域名"+"/download"+"图片名称"+"图片分辨率"+".jpg的图片格式后缀"组合而成

通过对比我们发现,图片详情页链接最接近图片原图链接,我们只需要在详情链接里面加入"/download"以及"图片分辨率+.jpg"后缀即可,接下来我们直接通过下载好的excel表进行修改即可。

我们表格里面除了第一列的图片详情页链接留下,其他全部删除,如下展现:

仅保留第一列图片详情链接的表格展现

接下来我们可以通过excel表格来实现上面两个需求:

1.在图片详情链接中首页域名后添加"download"。通过观察,我们可以发现直接通过excel替换功能实现,直接将域名"http://wallpaperwide.com/"替换为"http://wallpaperwide.com/download/"即可。

excel替换实现网址更改1


2.将原后缀".html"改为”分辨率+.jpg"的形式。通过观察,我们发现所有的图片网页详情链接的结尾都是.html,这样我们通过excel替换同能实现此更改操作。【注意:图片详情链接后面是“wallpapers”,图片原图中是“wallpaper”】因此,最终只需要将"s.html"替换为"-1920x1080.jpg"即可。

通过以上两步操作,最终我们得到了所有图片原图的下载链接,可以随机复制几个链接再在浏览器里打开测试一下效果,会发现通过浏览器打开后就直接进行了图片下载操作,就这样得到了高清原图啦!

对图片进行批量下载操作,可以直接通过迅雷或者IDM下载器即可,在此以迅雷为例

选中整列复制

1.鼠标放在列头上出现下箭头,然后选中整列进行复制

打开迅雷进行批量下载

2.打开迅雷,选择新建,自动检测到剪贴板所有链接,立即下载或者选择想要保存的文件夹即可

下载后的结果

最终下载下来的效果,每张图片页显示了图片标题+分辨率,对了,提一点,如果由不同分辨率需要,可以直接在把“1920x1080”更改为想要的分辨率即可

通过Instant Data Scraper对WallHaven.cc壁纸网站进行爬取下载高清原图

同上面对WallpapersWide壁纸网站的大致思路和流程是一样的,只有中间部分,将图片链接转化为高清原图链接部分,需要不同对待,思路还是一样,对比→发现规律→按格式更改,在此,前面通过Instant Data Scraper爬取并保存结果部分,以及后面的通过下载工具批量下载部分不做具体说明,伙伴们可以自己尝试一下。

通过Instant Data Scraper进行获取的时候需要注意三点:

1.没有找到符合需求的表格就选择Try annother table

2.根据网络加载情况选择合适的时间间隔

3.如果是向下滑动加载翻页的,勾选"Infinite scroll",如果是页码翻页的定位好“Next”下一页元素

以上三点也是在使用Instant Data Scraper时都需要注意的。

打开Wallhaven主页后是全英文的,首页只是展现了一些推荐的图片,可以选择最上面的Latest(最近更新)或者Toplist(高分图片)或者Random(随机图片)

wallhaven壁纸网站首页

在此我选择了Top list页,并发现是是通过向下滚动自动翻页的方式,因此此处勾选了"infinite scroll",时间间隔上仍然选择了最小时间3秒最大时间8秒

Instant Data Scraper获取wall haven壁纸

直接展现爬取的结果如下(注:主要有图片预览图链接列、图片详情页、分辨率、最后一个是是否PNG格式):

Instant Data Scraper爬取wall haven壁纸结果

选择一张图片点击进入图片详情内页,直接加载了高清原图,图片右键复制图片链接得到如下:

https://w.wallhaven.cc/full/y8/wallhaven-y8y22l.jpg

分析上面高清原图链接得到如下规律:

"https://w.wallhaven.cc"+"/full/"+"标识码前两位字符"+"wallhaven-标识码"+".jpg
上面所述中的“标识码”是指像"y8y22I"这样的无规律的6位随机字符组成的,目的是让每张图片
不一样,因此,我在这里姑且称之为”标识码“

接下来对比一下图片缩略图链接、图片详情页链接与高清原图链接看需要更改的有哪些

图片缩略图:https://th.wallhaven.cc/small/y8/y8y22l.jpg
图片详情页:https://wallhaven.cc/w/y8y22l
高清原图:https://w.wallhaven.cc/full/y8/wallhaven-y8y22l.jpg

对比发现,图片缩略图链接更接近高清原图链接,后面基本上是一样的,只需要修改一下三个地方:

  • 将"th.wallhaven"更改为"w.wallhaven"
  • 将"small"更改为"full"
  • 将"标识码"更改为"wallhaven-"+"标识码"

接下来我们通过Excel看是否能够正常将以上三个需要更改的地方给改了。

将"th.wallhaven"更改为"w.wallhaven",可以直接通过excel的替换功能实现

通过替换将th.wallhaven替换为w.wallhaven

将"small"更改为"full"

通过替换将small替换为full

将“标识码”更改为“wallhaven"+"标识码”,这个由于标识码每一个都不一样是变动的,通过excel的替换功能不能实现,当然,如果excel有正则表达式的功能就很简单了,在这里我的思路是:可以通过分割的形式,将链接分为多部份,然后再增加“wallhaven-”列,之后再进行合并的方式,当然或许还有很多其他方式,大家可以自己发掘一下评论区发一下。

我们先将除了“图片预览图链接列”以及“PNG列”保留下来,之所以将png列保留下来,在后面会给大家说原因,选中“图片预览列”,选择“数据”,选择“分列”,选择“分隔符号”并“下一步”,在“分隔符号”项勾选“其他”并填入符号“/”,点击“下一步”之后点击完成即可得到,具体可以看下面的动态图

通过分割将图片链接进行解析

注:由于将png列紧挨图片详情列,而分列之后竟然覆盖了png列,应该提前将此列移动到靠后一些的位置

接下来,我们首先要做的是在“标识符前两位列”以及“标识符+.jpg列”中间增加一列,并全部填充为“wallhaven-”,可以看下方动图

添加“wallhaven-”列

完成这一步之后,接下来我们要做的就是组合各列了,在此我们用到了excel的一个函数“CONCAT”,这个是组合文本及单元的函数,我们对比原图链接,将缺失的“/”与每一列进行组合即可,见下方动态图

通过CONCAT函数组合列


完成组合之后,我们还需要做一个步骤就是上面提到的关于“png列”的作用,通过后期下载发现,所有显示png格式的,如果以jpg链接打开会出现“404”找不到网页情况,这说明了显示png格式的,网页链接就应该以".png"结尾,在这里,如何将存在PNG的自动修改为png结尾,而没有的仍然保持“jpg"结尾呢?我的想法是通过组合的方法,先将两列合并组合,会出现独一无的".jpgPNG"的字符串形式,然后将".jpgPNG"更改为“.png"即可。

当你们在操作的时候可能还会出现一个问题就是显示两列不能组合,因为由函数生成的列,值仍然是函数,而非我们看到的链接文本,因此我们需要将最终链接结果列复制一下,在新列以数值粘贴即可

通过合并替换将png格式保存下来

到此,所有的高清原图链接已经得到,接下来再通过迅雷下载即可。

或许各位看官看到这里会觉得这个方法太麻烦了点,其实这里只是想通过大家常用的excel实现上面的更改操作,如果通过正则表达式的话,这些操作会简单很多,后期我会再给大家出一期正则表达式的日常用法,来普及这个应用相当广发的“查找”“替换”神器。

上面通过Instant Data Scraper爬取图片的方式其实只是一个简单的扩展,大家在以后的使用过程中可以多去尝试,通过Instant Data Scraper进行获取,总会由意想不到的结果的。

欢迎大家关注/点赞/收藏,谢谢,我会用心给大家带来更多实用的技术,好用的APP应用,让智能带给大家更多想象不到的便利,通过自动化技术,提高工作效率。

大家同时也可以私信我或者评论留言,将自己想要实现的自动化功能,或者是工作生活中遇到的问题告诉我,我会尽力一一为大家解决,同时也可以作为新的案例,让更多小伙伴学会。

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章