作者 | pk哥
前言
生活或者工作中,不管是写文章、公司 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 哥输入英文关键字后回车,效果如下。
效果展示
把自己常用的主题图都下载在本地,以后找图再也不用等了,爽歪歪。