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(設(shè)置) >>> Project(項目) >>> python interpreter(python解釋器)
點擊齒輪, 選擇add
添加python安裝路徑
pycharm如何安裝插件?
選擇file(文件) >>> setting(設(shè)置) >>> 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) # 設(shè)置壁紙更換間隔,這里為10秒,根據(jù)用戶自身需要自己設(shè)置秒數(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) # 設(shè)置壁紙更換間隔,這里為10秒,根據(jù)用戶自身需要自己設(shè)置秒數(shù)
i += 1
if i==len(L2): # 如果是最后一張圖片,則重新到第一張
i=0
if __name__ == '__main__':
changeWallpaper_2()
到此這篇關(guān)于Python實現(xiàn)電腦壁紙的采集與輪換效果的文章就介紹到這了,更多相關(guān)Python電腦壁紙內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 實現(xiàn)將Numpy數(shù)組保存為圖像
今天小編就為大家分享一篇python 實現(xiàn)將Numpy數(shù)組保存為圖像,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01
Python多進程池 multiprocessing Pool用法示例
這篇文章主要介紹了Python多進程池 multiprocessing Pool用法,結(jié)合實例形式分析了多進程池 multiprocessing Pool相關(guān)概念、原理及簡單使用技巧,需要的朋友可以參考下2018-09-09
Python?OpenCV識別行人入口進出人數(shù)統(tǒng)計
本文主要介紹了Python?OpenCV識別行人入口進出人數(shù)統(tǒng)計,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧<BR>2023-01-01
PyCharm 2020.2.2 x64 下載并安裝的詳細教程
這篇文章主要介紹了PyCharm 2020.2.2 x64 下載并安裝的詳細教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10
python結(jié)合shell查詢google關(guān)鍵詞排名的實現(xiàn)代碼
這篇文章主要介紹了python結(jié)合shell查詢google關(guān)鍵詞排名的實現(xiàn)代碼,需要的朋友可以參考下2016-02-02

