免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
50行代碼極速下載無(wú)版權(quán)高清圖

來(lái)源:Python知識(shí)圈  鏈接:

https://mp.weixin.qq.com/s/hRnRH7EL5enstoQ-iqr2uQ

 閱讀文本大概需要 3 分鐘。

前言

生活或者工作中,不管是寫文章、公司 UI 交互圖還是廣告圖等等都需要用到圖片,圖片的優(yōu)點(diǎn)和重要性自不用說(shuō)。

圖片我們可不能隨便從網(wǎng)上搜索來(lái)用,我們得注意圖片的版權(quán)。我一般是在無(wú)版權(quán)的網(wǎng)站上找圖片,比如我常用的 pixabay 網(wǎng)站,打開網(wǎng)站,搜索我們需要的主題圖片,結(jié)果,加載大半天,還是下面這樣的。。。

這大大的影響我們的效率和心情啊,因?yàn)檫@網(wǎng)站的服務(wù)器是國(guó)外的,所有才會(huì)這么慢。

作為一個(gè)追求工作和生活高效率的 Pythoner,這個(gè)實(shí)在忍不了。

于是我用決定用 Python 寫一個(gè)簡(jiǎn)單的爬蟲,把不同主題的圖片分別保存在本地,下次需要用圖的時(shí)候直接在本地瀏覽選擇就行了。

頁(yè)面元素分析

瀏覽器中 F12 調(diào)試,我們看看單個(gè)圖片的 url 鏈接??,大部分的圖片 url 都在 「data-lazy-srcset」 屬性里。

正則提取元素

我們用正則表達(dá)式提取出一個(gè)頁(yè)面所有的圖片 url,比如我提取第 2 頁(yè)所有的圖片 url,并把這些 url 放在列表里,方便接下來(lái)調(diào)用后下載圖片。

def get_urls(url):
headers = {
'User-Agent':
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 '
'(KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'}
html = requests.get(url, headers=headers).text
urls = re.compile(r'data-lazy-srcset='(.*?)'')
res = re.findall(urls, html)
img_urls = []
for u in res:
img_url = str(u).split(',')[0].strip(' 1x')
img_urls.append(img_url)
return img_urls

創(chuàng)建目錄

我們給不同的主題圖片主動(dòng)新建文件夾保存,包括「素材圖片」文件夾前面的路徑大家換成自己路徑,我用的 Mac 電腦路徑和 windows 系統(tǒng)路徑不同,大家根據(jù)情況替換。后面的 direcory 參數(shù)是我們輸入的查詢圖片的關(guān)鍵字,根據(jù)我們輸入的關(guān)鍵字來(lái)創(chuàng)建主題文件夾儲(chǔ)存下載的圖片。

# 創(chuàng)建不同的文件夾儲(chǔ)存圖片
def mkdir(directory):
isExists = os.path.exists(r'/Users/brucepk/Pictures/素材圖片/{}'.format(directory))
if not isExists:
print('創(chuàng)建 %s 目錄' % directory)
os.makedirs(r'/Users/brucepk/Pictures/素材圖片/{}'.format(directory)) # 創(chuàng)建目錄
os.chdir(r'/Users/brucepk/Pictures/素材圖片/{}'.format(directory)) # 切換到創(chuàng)建的文件夾
return True
else:
print('目錄 %s 已存在,即將保存!' % directory)
return False

下載圖片

我們把提取出來(lái)的圖片下載下來(lái),open 后面的 wb+ 表示以二進(jìn)制讀寫模式打開。

def download(filename, url):
with open(filename, 'wb+') as f:
try:
f.write(requests.get(url).content)
print('成功下載圖片:', filename)
except:
print('下載失?。?, filename)

最后,pk 哥用 input 方法讓大家自行輸入查詢的英文關(guān)鍵字,「pagi」后的參數(shù)是頁(yè)面,我用 for 循環(huán)讓它爬取前 5 頁(yè)。

if __name__ == '__main__':
directory = input('輸出你要下載的圖片的英文關(guān)鍵字:')
for num in range(1, 6):
search_url = 'https://pixabay.com/images/search/{}/?pagi={}'.format(directory, num) # 拼接每頁(yè)的鏈接
mkdir(directory)
for url in get_urls(search_url):
filename = r'/Users/brucepk/Pictures/素材圖片/{}/'.format(directory) + url.split('/')[-1] # 圖片的路徑
download(filename, url)
print('第%s頁(yè)已爬取' % num)
time.sleep(int(format(random.randint(3, 10)))) # 隨機(jī)等待時(shí)間

運(yùn)行代碼,pk 哥輸入英文關(guān)鍵字后回車,效果如下。

效果展示

把自己常用的主題圖都下載在本地,以后找圖再也不用等了,爽歪歪。

本文全部源碼: 

https://github.com/Brucepk/download-no-copyright-image/blob/master/pixabay.py題圖:Pixabay

(完)

看完本文有收獲?請(qǐng)轉(zhuǎn)發(fā)分享給更多人

關(guān)注「Python那些事」,做全棧開發(fā)工程師

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
python爬取英雄聯(lián)盟資料庫(kù)所有英雄皮膚圖片包含炫彩
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服