爬取高清无版权美图

01 前言

做公众号,总是会需要使用一些图片做封面或背景。我的公众号的图片有两种来源:一是通过创可贴自己动手修改下就可以用了,还一种就是在网上下载图片。

那如何下载高清并且可以供使用(无版权)的图片了?我是使用的pexels网站下载来的图片(https://www.pexels.com/),这个网站图片高清,质量好,而且无版权,可以供免费使用。

所以,本文教大家使用Python爬取Pexels图片,并保存在本地。

02 网站分析

首先,我们搜索Scenery,可以找到风景图。

https://www.pexels.com/search/Scenery/

该网站简单,不是异步加载,我们可以用lxml库来进行爬虫,其核心就是找到循环点。

接着,我们考虑换页的url变换情况,我们按F12,打开开发者工具,查看url的变换情况。

我们发现,只需要换个page的页数即可。

https://www.pexels.com/search/Scenery/?page=
03 爬虫代码
import requests
from lxml import etree

headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36'
}

path = '图片/'

urls = ['https://www.pexels.com/search/Scenery'+'/?page={}'.format(str(i)) for i in range(1,10)]

for url in urls:
    res = requests.get(url, headers=headers)
    html = etree.HTML(res.text)
    infos = html.xpath('//div[@class="photos__column"]/div')
    for info in infos:
        img = info.xpath('article/a[1]/img/@src')
        if len(img) == 1:
            img = img[0]
            print(img)
            data = requests.get(img, headers=headers)

            f = open(path + img.split('?')[0][-11:], 'wb')
            f.write(data.content)
            f.close()

今天的分享就到这了,我们下期再见~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一.基本概念 "一张统计图形就是从数据到几何对象(geometric object, 缩写为geom, 包括点、线...
    apricoter阅读 53,365评论 6 173
  • 我知道也许不应该说这些疯话 但...我一直很任性 时间匆匆 人生是真的苦短 如果我足够幸运活到80岁 不知不觉我已...
    beanbuns阅读 2,865评论 0 0
  • 微信支付和支付宝支付都给支付提供了很大很大的方便,注意是支付是付出,也就是说它们使人更容易付出和更容易付出更多。用...
    黄海_f0e3阅读 3,405评论 0 0
  • 对于从前啊 似乎有太多太多的说不清道不明 无数条弯弯曲曲的道路曾纵横交错 说不清是对还是错 踌躇的我总是辗转反侧 ...
    2021要加油鸭阅读 1,469评论 0 0
  • 最近几天琢磨了一年的哥特艺术终于完了,而对于艺术史我自己也有了全面的一个认识和了解,那么我认识和了解到的有一个最明...
    烟老师阅读 3,980评论 0 0