前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >爬取高清无版权美图

爬取高清无版权美图

作者头像
罗罗攀
发布2019-08-14 14:30:49
8970
发布2019-08-14 14:30:49
举报
01 前言

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

那如何下载高清并且可以供使用(无版权)的图片了?我是使用的pexels网站下载来的图

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

02 网站分析

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

代码语言:javascript
复制
https://www.pexels.com/search/Scenery/

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

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

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

代码语言:javascript
复制
https://www.pexels.com/search/Scenery/?page=
03 爬虫代码
代码语言:javascript
复制
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()

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.08.12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 01 前言
  • 02 网站分析
  • 03 爬虫代码
相关产品与服务
云开发 CLI 工具
云开发 CLI 工具(Cloudbase CLI Devtools,CCLID)是云开发官方指定的 CLI 工具,可以帮助开发者快速构建 Serverless 应用。CLI 工具提供能力包括文件储存的管理、云函数的部署、模板项目的创建、HTTP Service、静态网站托管等,您可以专注于编码,无需在平台中切换各类配置。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档