做公眾號(hào),總是會(huì)需要使用一些圖片做封面或背景。我的公眾號(hào)的圖片有兩種來(lái)源:一是通過(guò)創(chuàng)可貼自己動(dòng)手修改下就可以用了,還一種就是在網(wǎng)上下載圖片。
那如何下載高清并且可以供使用(無(wú)版權(quán))的圖片了?我是使用的pexels網(wǎng)站下載來(lái)的圖片(https://www.pexels.com/),這個(gè)網(wǎng)站圖片高清,質(zhì)量好,而且無(wú)版權(quán),可以供免費(fèi)使用。
所以,本文教大家使用Python爬取Pexels圖片,并保存在本地。
首先,我們搜索Scenery,可以找到風(fēng)景圖。
https://www.pexels.com/search/Scenery/
該網(wǎng)站簡(jiǎn)單,不是異步加載,我們可以用lxml庫(kù)來(lái)進(jìn)行爬蟲,其核心就是找到循環(huán)點(diǎn)。
接著,我們考慮換頁(yè)的url變換情況,我們按F12,打開(kāi)開(kāi)發(fā)者工具,查看url的變換情況。
我們發(fā)現(xiàn),只需要換個(gè)page的頁(yè)數(shù)即可。
https://www.pexels.com/search/Scenery/?page=
import requestsfrom lxml import etreeheaders = { '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()
聯(lián)系客服