01 前言
做公眾號(hào)瓷耙,總是會(huì)需要使用一些圖片做封面或背景朱躺。我的公眾號(hào)的圖片有兩種來源:一是通過創(chuàng)可貼自己動(dòng)手修改下就可以用了刁赖,還一種就是在網(wǎng)上下載圖片。
那如何下載高清并且可以供使用(無版權(quán))的圖片了长搀?我是使用的pexels網(wǎng)站下載來的圖片(https://www.pexels.com/)宇弛,這個(gè)網(wǎng)站圖片高清,質(zhì)量好源请,而且無版權(quán)枪芒,可以供免費(fèi)使用。
所以谁尸,本文教大家使用Python爬取Pexels圖片舅踪,并保存在本地。
02 網(wǎng)站分析
首先良蛮,我們搜索Scenery硫朦,可以找到風(fēng)景圖。
https://www.pexels.com/search/Scenery/
該網(wǎng)站簡(jiǎn)單背镇,不是異步加載,我們可以用lxml庫來進(jìn)行爬蟲泽裳,其核心就是找到循環(huán)點(diǎn)瞒斩。
接著,我們考慮換頁的url變換情況涮总,我們按F12胸囱,打開開發(fā)者工具,查看url的變換情況瀑梗。
我們發(fā)現(xiàn)烹笔,只需要換個(gè)page的頁數(shù)即可。
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()
今天的分享就到這了抛丽,我們下期再見~