图库网站Unsplash高清原图爬虫【华为云技术分享】
【摘要】 写博客的好工具,快速获得高清图片
在百度图片爬虫小助手里,我开发了一个爬虫,来节约我写博客时搜集图片的时间。
但是,也出现了一些问题,主要有以下几点:
- 百度图片上的质量参差不齐,大部分图片质量不够
- 图片分辨率普遍不够
- 图片存在版权问题,许多图片存在水印或logo
针对上面的几个问题,我找了一个新的图库网站Unsplash来获得图片。
Unsplash上的图片都是免费的,因此不存在水印的问题,而且,针对同一图片,还提供不同尺寸(raw,full,regular,small,thumb),就我发博客这一需求而言,regular级别的图片已经可以满足。
进入Unsplash,打开F12开发者工具抓包,输入关键字boy,试图找到相关的request,得到了这些信息

上图红色框是接口地址,蓝色框中是向这个接口发送的入参,我们再看一下这个接口返回的数据。

红色框中返回了20条数据,正好对应的向接口发送的入参per_page:20(即每页返回20张图片信息),查看每一张图片的信息,可以看到以下内容。

红色框中正是图片的URL地址,绿色框中用了一句话对图片进行大致描述,而蓝色框中可以看出,图片根据不同尺寸分了好几种规格,这应该是方便在不同的设备之间进行显示。

由于Unplash是国外的图库网站,因此并不支持中文查询。但这可难不倒我们,在网上找了个翻译接口将中文翻译成英文,就可以解决这个问题了,我采用的是百度的翻译接口,这里就不展开讲述了。

爬虫的流程
我们看一下爬虫的结果吧!

爬虫下载的“programmer”部分图片

爬虫下载的“boy”部分图片
可以看出,下载的图片质量是非常不错的。为了加速爬虫,并节约硬盘资源,我选择下载reular级别的图片,下面我们看一下这个级别的图片在博客上展示有没有什么问题。


总的来说,Unsplash上的图片质量是比百度图库要好的,但有些特殊的词,Unsplash收录的图片数量就没有百度图库多了,有时间再将Unsplash爬虫与百度爬虫结合起来,希望我的博客在编辑速度以及美观方面能有所提升。
来源:华为云社区 作者:开飞机的大象
图库网站Unsplash高清原图爬虫【华为云技术分享】的更多相关文章
- Python爬虫从入门到精通——基本库re的使用:正则表达式【华为云技术分享】
置顶:华为云618大促火热进行中,全场1折起,免费抽主机,消费满额送P30 Pro,点此抢购. 正则表达式是处理字符串的强大工具,它有自己特定的语法结构,有了它,实现字符串的检索.替换.匹配验证都不在 ...
- 【华为云实战开发】8.如何快速搭建C#网站并实现持续集成?【华为云技术分享】
1 概述 1.1 文章目的 本文通过一个实例介绍如何使用软件开发服务DevCloud完成一个C#Web项目的开发. 1.2 项目详情 1. 项目名称:超级冷笑话网站 2. 项目简介:一个Web网站,包 ...
- 【Python3网络爬虫开发实战】6.4-分析Ajax爬取今日头条街拍美图【华为云技术分享】
[摘要] 本节中,我们以今日头条为例来尝试通过分析Ajax请求来抓取网页数据的方法.这次要抓取的目标是今日头条的街拍美图,抓取完成之后,将每组图片分文件夹下载到本地并保存下来. 1. 准备工作 在本节 ...
- 【华为云实战开发】9.如何进行PHP项目的快速搭建并实现CICD?【华为云技术分享】
1 概述 1.1 文章目的 本文主要想为研发PHP项目的企业或个人提供上云指导,通过本文中的示例项目 “workerman-todpole”,为开发者提供包括项目管理,代码托管,代码检查,编译构建,测 ...
- webpack4.0各个击破(6)—— Loader篇【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...
- MySQL数据库开发的36条原则【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...
- Python面试的一些心得,与Python练习题分享【华为云技术分享】
版权声明:本文为CSDN博主「华为云」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/devcloud/arti ...
- 【华为云实战开发】10.经典的C++项目怎么在云端开发?【华为云技术分享】
1 概述 1.1 文章目的 本文主要想为研发C++项目的企业或个人提供上云指导,通过本文中的示例项目 “音频解析器”,为开发者提供包括项目管理,代码托管,代码检查,编译构建,测试管理的操作指导,覆盖软 ...
- MySQL 8.0新增特性详解【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...
随机推荐
- jquery判断手指滑动方向
jquery判断手指滑动方向 <pre> /*判断哪个滑动方向还是自己改下 要么上下 要么左右*/ var startX; var startY; $(".shanghua&qu ...
- JS、JQ相关小技巧积攒
JS.JQ相关小技巧积攒,以备不时之需. 1.js 获取时间差:时间戳相减.new Date().getTime() 获得毫秒数,除以(1000*60*60*24) 获得天数. 2.重定向操作:页面 ...
- [.NET] 常用的reusable library
1. NAudio NAudio is an open source .NET audio and MIDI library, containing dozens of useful audio re ...
- nyoj 1112 求次数 (map)
求次数 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 题意很简单,给一个数n 以及一个字符串str,区间[i,i+n-1] 为一个新的字符串,i 属于[0,strl ...
- pat 1050 String Subtraction(20 分)
1050 String Subtraction(20 分) Given two strings S1 and S2, S=S1−S2 is defined to be the ...
- 领扣(LeetCode)删除链表中的节点 个人题解
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点. 现有一个链表 -- head = [4,5,1,9],它可以表示为: 4 -> 5 -> 1 - ...
- LXC容器文件系统设计优化
在HOST上面,一个LXC container包含一个config文件和一个rootfs目录. 早期我们在交叉编译系统上编译出container的rootfs之后,直接在编译系统上将其用tar压缩打包 ...
- Dart Learn Notes 03
操作符 dart 有一套自己定义的操作符: 这里我就不再写了,直接copy一份官网的. 如果有过编程基础,上边展示的操作符应该都不陌生. 算术运算符 加: + 减: - 乘: * 除: / 取余: % ...
- 02_Pandas基本使用
1.Pandas读取数据 一般错误 import pandas as pd pd.read_csv(r'D:\数据分析\02_Pandas\pandas\food_info.csv') out: -- ...
- https揭秘
首先简要说明一下所谓的https证书是什么东西:打个比方,你第一次去银行办理业务的时候都需要手持本人身份中去办理业务,这个身份证从哪里来呢,没错,是从国家相关机关得来的,在中国内是通用的,类比到htt ...
