Python實現(xiàn)電腦壁紙的采集與輪換效果
亮點
1、系統(tǒng)性分析頁面
2、多頁面數(shù)據(jù)解析
3、海量圖片數(shù)據(jù)保存
環(huán)境
python 3.8
pycharm 2021.2
requests pip install requests
parsel pip install parsel
模塊安裝問題
如果安裝python第三方模塊:
win + R 輸入 cmd 點擊確定, 輸入安裝命令 pip install 模塊名 (pip install requests) 回車
在pycharm中點擊Terminal(終端) 輸入安裝命令
如何配置pycharm里面的python解釋器?
選擇file(文件) >>> setting(設置) >>> Project(項目) >>> python interpreter(python解釋器)
點擊齒輪, 選擇add
添加python安裝路徑
pycharm如何安裝插件?
選擇file(文件) >>> setting(設置) >>> Plugins(插件)
點擊 Marketplace 輸入想要安裝的插件名字 比如:翻譯插件 輸入 translation / 漢化插件 輸入 Chinese
選擇相應的插件點擊 install(安裝) 即可
安裝成功之后 是會彈出 重啟pycharm的選項 點擊確定, 重啟即可生效
Python: 編程語言()
用計算機語言(0 1): 用來跟計算機進行交互的語言
翻譯 英文單詞翻譯成 0 或者 1 python 3.8
實現(xiàn)一系列操作
代碼編輯器: pycharm 2021.2
Python: 工具
內(nèi)置模塊
第三方模塊
python 案例 (采集彼岸壁紙)
來到圖片列表頁面 進行點擊操作 來到圖片詳情頁
在圖片詳情頁里面 點擊圖片
來到 大圖頁面 , 獲取到圖片
代碼實現(xiàn)
- 訪問當圖片列表頁面(發(fā)送請求)
- 獲取數(shù)據(jù)
- 解析數(shù)據(jù)
- 發(fā)送請求(訪問網(wǎng)站)
采集壁紙
# 導入工具 import requests import parsel for page in range(2, 16): url = f'http://www.netbian.com/meinv/index_{page}.htm' # 1. 發(fā)送請求 response = requests.get(url) # 亂碼 response.encoding = 'gbk' # 2. 獲取數(shù)據(jù) html_data = response.text # 3. 解析數(shù)據(jù) 圖片鏈接獲取到 提取出來 selector = parsel.Selector(html_data) img_list = selector.css('.list img::attr(src)').getall() for img_url in img_list: # 小圖片 >>> 大圖片 img_url = img_url.replace('small', '') # http://img.netbian.com/file/2022/0416/small0003229mRl41650038602.jpg img_url = img_url[:-14] + '.jpg' # 圖片名稱 提取出來 img_name = img_url.split('/')[-1] # 直接獲取圖片二進制數(shù)據(jù) img_data = requests.get(img_url).content print(img_name) # 保存數(shù)據(jù) with open(f'img/{img_name}', mode='wb') as f: f.write(img_data)
自動換壁紙
import win32api import win32con import win32gui import os import time def Windows_img(paperPath): k=win32api.RegOpenKeyEx(win32con.HKEY_CURRENT_USER,"Control panel\\Desktop",0,win32con.KEY_SET_VALUE) # 在注冊表中寫入屬性值 win32api.RegSetValueEx(k,"wapaperStyle",0,win32con.REG_SZ,"2") # 0 代表桌面居中 2 代表拉伸桌面 win32api.RegSetValueEx(k,"Tilewallpaper",0,win32con.REG_SZ,"0") win32gui.SystemParametersInfo(win32con.SPI_SETDESKWALLPAPER,paperPath,win32con.SPIF_SENDWININICHANGE) # 刷新桌面 def changeWallpaper(): """文件夾/文件夾/圖片""" # path=input('請輸入文件路徑:') path = r"C:\02-講師文件夾\巳月公開課\課題\wallhaven\img" L2=os.listdir(path=path) # 得到文件路徑下的壁紙文件夾,列表類型 i=0 print(L2) # 壁紙文件夾 url_list = [] for l2 in L2: detail_path = path + '\\' + l2 L3 = os.listdir(detail_path) # 得到壁紙文件夾路徑下的圖片,列表類型 for l3 in L3: url_list.append(detail_path + '\\' + l3) print(url_list) while True: Windows_img(url_list[i]) print('{}'.format(url_list[i])) time.sleep(2) # 設置壁紙更換間隔,這里為10秒,根據(jù)用戶自身需要自己設置秒數(shù) i += 1 if i == len(url_list): # 如果是最后一張圖片,則重新到第一張 i = 0 def changeWallpaper_2(): """文件夾/圖片""" path = input('請輸入文件路徑:') # path = r"C:\02-講師文件夾\巳月公開課\課題\回車桌面壁紙\img" L2=os.listdir(path=path) # 得到文件路徑下的圖片,列表類型 i=0 print(L2) while True: Windows_img(path+'\{}'.format(L2[i])) print(path+'\{}'.format(L2[i])) time.sleep(10) # 設置壁紙更換間隔,這里為10秒,根據(jù)用戶自身需要自己設置秒數(shù) i += 1 if i==len(L2): # 如果是最后一張圖片,則重新到第一張 i=0 if __name__ == '__main__': changeWallpaper_2()
到此這篇關于Python實現(xiàn)電腦壁紙的采集與輪換效果的文章就介紹到這了,更多相關Python電腦壁紙內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Tensorflow卷積神經(jīng)網(wǎng)絡實例進階
這篇文章主要為大家詳細介紹了Tensorflow卷積神經(jīng)網(wǎng)絡實例進階,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-05-05Python中JSON數(shù)據(jù)的相互轉(zhuǎn)化詳解
這篇文章主要介紹了Python中JSON數(shù)據(jù)的相互轉(zhuǎn)化詳解,JSON 是一種輕量級的數(shù)據(jù)交互格式,可以按照 JSON 指定的格式去組織和封裝數(shù)據(jù),2023-12-12
JSON 本質(zhì)是一個帶有特定格式的字符串,需要的朋友可以參考下anaconda升級sklearn版本的實現(xiàn)方法
這篇文章主要介紹了anaconda升級sklearn版本的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02Python中getservbyport和getservbyname函數(shù)的用法大全
在Python的網(wǎng)絡編程中,getservbyport()函數(shù)和getservbyname()函數(shù)是socket模塊中的兩個函數(shù),因此在使用這兩個函數(shù)時,需要導入socket模塊,這篇文章主要介紹了Python中getservbyport和getservbyname函數(shù)的用法,需要的朋友可以參考下2023-01-01python實踐項目之監(jiān)控當前聯(lián)網(wǎng)狀態(tài)詳情
介紹一個利用Python監(jiān)控當前聯(lián)網(wǎng)狀態(tài)情況的python代碼,它可以清楚地知道,你的電腦網(wǎng)絡是否是鏈接成功或失敗,下面小編帶大家來一起學習它2019-05-05