【摘要】 写博客的好工具,快速获得高清图片

百度图片爬虫小助手里,我开发了一个爬虫,来节约我写博客时搜集图片的时间。

但是,也出现了一些问题,主要有以下几点:

  • 百度图片上的质量参差不齐,大部分图片质量不够
  • 图片分辨率普遍不够
  • 图片存在版权问题,许多图片存在水印或logo

针对上面的几个问题,我找了一个新的图库网站Unsplash来获得图片。

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高清原图爬虫【华为云技术分享】的更多相关文章

  1. Python爬虫从入门到精通——基本库re的使用:正则表达式【华为云技术分享】

    置顶:华为云618大促火热进行中,全场1折起,免费抽主机,消费满额送P30 Pro,点此抢购. 正则表达式是处理字符串的强大工具,它有自己特定的语法结构,有了它,实现字符串的检索.替换.匹配验证都不在 ...

  2. 【华为云实战开发】8.如何快速搭建C#网站并实现持续集成?【华为云技术分享】

    1 概述 1.1 文章目的 本文通过一个实例介绍如何使用软件开发服务DevCloud完成一个C#Web项目的开发. 1.2 项目详情 1. 项目名称:超级冷笑话网站 2. 项目简介:一个Web网站,包 ...

  3. 【Python3网络爬虫开发实战】6.4-分析Ajax爬取今日头条街拍美图【华为云技术分享】

    [摘要] 本节中,我们以今日头条为例来尝试通过分析Ajax请求来抓取网页数据的方法.这次要抓取的目标是今日头条的街拍美图,抓取完成之后,将每组图片分文件夹下载到本地并保存下来. 1. 准备工作 在本节 ...

  4. 【华为云实战开发】9.如何进行PHP项目的快速搭建并实现CICD?【华为云技术分享】

    1 概述 1.1 文章目的 本文主要想为研发PHP项目的企业或个人提供上云指导,通过本文中的示例项目 “workerman-todpole”,为开发者提供包括项目管理,代码托管,代码检查,编译构建,测 ...

  5. webpack4.0各个击破(6)—— Loader篇【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  6. MySQL数据库开发的36条原则【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  7. Python面试的一些心得,与Python练习题分享【华为云技术分享】

    版权声明:本文为CSDN博主「华为云」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/devcloud/arti ...

  8. 【华为云实战开发】10.经典的C++项目怎么在云端开发?【华为云技术分享】

    1 概述 1.1 文章目的 本文主要想为研发C++项目的企业或个人提供上云指导,通过本文中的示例项目 “音频解析器”,为开发者提供包括项目管理,代码托管,代码检查,编译构建,测试管理的操作指导,覆盖软 ...

  9. MySQL 8.0新增特性详解【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

随机推荐

  1. zookeeper能干啥

    在Zookeeper的官网上有这么一句话:ZooKeeper is a centralized service for maintaining configuration information, n ...

  2. Maven配置setting.xml详细说明

    <?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://mav ...

  3. spring boot打包成war包的页面该放到哪里?

    背景 经常有朋友问我,平时都是使用spring mvc,打包成war包发布到tomcat上,如何快速到切换到spring boot的war或者jar包上? 先来看看传统的war包样式是什么样子的? 1 ...

  4. 关于Set和Map数据结构的一点学习

    关于js的Set和Map结构的学习和记录 对阮一峰老师的ES6入门和网上有关资料的的一点学习和记录 1.Set数据结构 Set构造函数的参数是一个可遍历( iterator)对象 Set中的成员值是唯 ...

  5. Android Drawable 简析

    Drawable 是开发中经常用到的一个概念,我们经常用它去设置 View 的背景,背景可以一个颜色值,也可以是一张资源图片,还可以是一个自定义的 Drawable等等.这篇文章就简单说下 Drawa ...

  6. wordpress插件:multiple post thumbnails(可为文章添加多个特色图片)

    我们经常会给wordpress的文章加上特色图片来实现日志缩略图的需求,但是很多时候一张图片并不能够完美而又全面的表达我们wordpress文章的内容,这时候您可能就会需要这样一个能让wordpres ...

  7. C++中对C的扩展学习新增语法——namespace

    NAMESPACE语法 namespace主要解决了命名冲突的问题,语法如下 Namespace注意事项: namespace中可以定义常量.变量.函数.结构体.枚举.类等. namespace 只能 ...

  8. [Error]Archive for required library: 'C:/Users/fk/.m2/repository/com/sun/xml/bind/jaxb-core/2.2.7/jaxb-core-2.2.7.jar'

    Eclipse报错: Description Resource Path Location Type Archive for required library: 'C:/Users/fk/.m2/re ...

  9. nyoj 92-图像有用区域 (BFS)

    92-图像有用区域 内存限制:64MB 时间限制:3000ms 特判: No 通过数:4 提交数:12 难度:4 题目描述: “ACKing”同学以前做一个图像处理的项目时,遇到了一个问题,他需要摘取 ...

  10. 在lldb调试中调用c++函数

    在lldb调试时,调用oc对象的方法不足为奇,因为msgSend是有原型导出的,oc对象的方法都运行期绑定的,绑定信息都在objc_class中.只要在调试中[receiver sel]之类,lldb ...