python requests返回值为200 但是text无内容_爬取高清无版权美图

623e22c9b9dffcbc593ada6a5d1435ef.png

01 前言

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

那如何下载高清并且可以供使用(无版权)的图片了?我是使用的pexels网站下载来的图片(https://www.pexels.com/),这个网站图片高清,质量好,而且无版权,可以供免费使用。所以,本文教大家使用Python爬取Pexels图片,并保存在本地。

299e3b6c0cc284f76e12e68300f278af.png

02 网站分析

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

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

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

0295976ec363b0521774b909d9808099.png

接着,我们考虑换页的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[@]/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()

0b2e7120311f842ed42ee54c623ce861.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值