Python 爬取必應(yīng)壁紙的實(shí)例講解
最近看了下python,就想著獲取下bing的圖片,每天定時(shí)爬取,保存到本地,可以做背景圖片用。 也在網(wǎng)上看了一些其他的例子。就自己動(dòng)手寫(xiě)了一個(gè)小的爬圖片的python腳本。
我們進(jìn)來(lái)來(lái)爬取的是必應(yīng)壁紙的相關(guān)實(shí)例,代碼如下:
import re import os import requests from time import sleep headers = { "User-Agent": ("Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) " "Gecko/20100101 Firefox/64.0") } def get_index(resolution, index=1): url = f"https://bing.ioliu.cn/ranking?p={index}" res = requests.get(url, headers=headers) urls = re.findall('pic=(.*?)\\.jpg', res.text) _old_resolution = urls[1].split("_")[-1] return {url.split("/")[-1].replace(_old_resolution, resolution): url.replace(_old_resolution, resolution) + ".jpg" for url in urls} def download_pic(pics): if os.path.exists('F:\\必應(yīng)壁紙'): pass else: os.mkdir('F:\\必應(yīng)壁紙') print('目錄創(chuàng)建成功') try: for pic_name, pic_url in pics.items(): res = requests.get(pic_url, headers=headers) with open(f"F:\\必應(yīng)壁紙\\{pic_name}.jpg", mode="wb") as f: f.write(res.content) print(f"{pic_name} 下載完成") except Exception as e: print("下載出錯(cuò)", e) def input_index(): print("必應(yīng)壁紙下載工具, 本工具未經(jīng)資源站授權(quán).") print("僅做學(xué)習(xí)和交流之用, 隨時(shí)有可能停止維護(hù).") print("目前資源站收容頁(yè)數(shù)為87,當(dāng)前僅提供1920x1080分辨率下載") while True: sleep(0.1) index = input("請(qǐng)輸入要下載的頁(yè)數(shù)(Max=87):") try: if index == "Q": exit() index = 87 if int(index) > 87 else int(index) return index except ValueError: print("請(qǐng)輸入數(shù)字, 或輸入Q退出!") def main(): index = input_index() i = 1 while i <= index: print(f"當(dāng)前第{i}頁(yè),共需要下載{index}頁(yè)") pics = get_index("1920x1080", i) download_pic(pics) i += 1 print("下載完成,將在3秒后關(guān)閉...") sleep(1) print("2") sleep(1) print("1") sleep(1) print("0") if __name__ == '__main__': main()
以上就是Python 爬取必應(yīng)壁紙的實(shí)例講解的詳細(xì)內(nèi)容,更多關(guān)于Python 爬取必應(yīng)壁紙的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
在Python3.74+PyCharm2020.1 x64中安裝使用Kivy的詳細(xì)教程
這篇文章主要介紹了在Python3.74+PyCharm2020.1 x64中安裝使用Kivy的詳細(xì)教程,本文通過(guò)圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08Python中的字符串類(lèi)型基本知識(shí)學(xué)習(xí)教程
這篇文章主要介紹了Python中的字符串類(lèi)型基本知識(shí)學(xué)習(xí)教程,包括轉(zhuǎn)義符和字符串拼接以及原始字符串等基礎(chǔ)知識(shí)講解,需要的朋友可以參考下2016-02-02Python+tkinter使用40行代碼實(shí)現(xiàn)計(jì)算器功能
這篇文章主要為大家詳細(xì)介紹了Python+tkinter使用40行代碼實(shí)現(xiàn)計(jì)算器功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01python實(shí)現(xiàn)自動(dòng)更換ip的方法
這篇文章主要介紹了python實(shí)現(xiàn)自動(dòng)更換ip的方法,涉及Python針對(duì)本機(jī)網(wǎng)絡(luò)配置的相關(guān)操作技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-05-05淺析python 中大括號(hào)中括號(hào)小括號(hào)的區(qū)分
python語(yǔ)言最常見(jiàn)的括號(hào)有三種,分別是:小括號(hào)( )、中括號(hào)[ ]和大括號(hào)也叫做花括號(hào){ }。這篇文章主要介紹了python 中大括號(hào)中括號(hào)小括號(hào)的區(qū)分,需要的朋友可以參考下2019-07-07解決Python3.8運(yùn)行tornado項(xiàng)目報(bào)NotImplementedError錯(cuò)誤
這篇文章主要介紹了Python3.8運(yùn)行tornado項(xiàng)目報(bào)NotImplementedError錯(cuò)誤,本文給大家分享解決方法,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09python opencv鼠標(biāo)畫(huà)矩形框之cv2.rectangle()函數(shù)
鼠標(biāo)操作屬于用戶(hù)接口設(shè)計(jì),以前一直使用Qt來(lái)做,但是如果只需要簡(jiǎn)單的鼠標(biāo),鍵盤(pán)操作,直接調(diào)用opencv庫(kù)的函數(shù)也未嘗不可,下面這篇文章主要給大家介紹了關(guān)于python opencv鼠標(biāo)畫(huà)矩形框cv2.rectangle()函數(shù)的相關(guān)資料,需要的朋友可以參考下2021-10-10python實(shí)現(xiàn)自動(dòng)登錄人人網(wǎng)并訪(fǎng)問(wèn)最近來(lái)訪(fǎng)者實(shí)例
這篇文章主要介紹了python實(shí)現(xiàn)自動(dòng)登錄人人網(wǎng)并訪(fǎng)問(wèn)最近來(lái)訪(fǎng)者實(shí)例,該實(shí)例是在前面登錄人人網(wǎng)實(shí)例基礎(chǔ)上的擴(kuò)展,是非常實(shí)用的一個(gè)技巧,需要的朋友可以參考下2014-09-09