Python批量下载无版权图片

前言

生活或者工作中,不管是写文章、公司 UI 交互图还是广告图等等都需要用到图片,图片的优点和重要性自不用说。

图片我们可不能随便从网上搜索来用,我们得注意图片的版权。我一般是在无版权的网站上找图片,比如我常用的 pixabay 网站,打开网站,搜索我们需要的主题图片,结果,加载大半天,还是下面这样的。。。

这大大的影响我们的效率和心情啊,因为这网站的服务器是国外的,所有才会这么慢。

作为一个追求工作和生活高效率的 Pythoner,这个实在忍不了。

于是我用决定用 Python 写一个简单的爬虫,把不同主题的图片分别保存在本地,下次需要用图的时候直接在本地浏览选择就行了。

页面元素分析

浏览器中 F12 调试,我们看看单个图片的 url 链接?,大部分的图片 url 都在 「data-lazy-srcset」 属性里。

正则提取元素

我们用正则表达式提取出一个页面所有的图片 url,比如我提取第 2 页所有的图片 url,并把这些 url 放在列表里,方便接下来调用后下载图片。

创建目录

我们给不同的主题图片主动新建文件夹保存,包括「素材图片」文件夹前面的路径大家换成自己路径,我用的 Mac 电脑路径和 windows 系统路径不同,大家根据情况替换。后面的 direcory 参数是我们输入的查询图片的关键字,根据我们输入的关键字来创建主题文件夹储存下载的图片。

下载图片

我们把提取出来的图片下载下来,open 后面的 wb+ 表示以二进制读写模式打开。

最后,pk 哥用 input 方法让大家自行输入查询的英文关键字,「pagi」后的参数是页面,我用 for 循环让它爬取前 5 页。

运行代码,pk 哥输入英文关键字后回车,效果如下。

效果展示

把自己常用的主题图都下载在本地,以后找图再也不用等了,爽歪歪。

本文全部源码在公众号回复「图片」获取。

本文分享自微信公众号 - 数据森麟(shujusenlin)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券