話說兄弟們,女朋友生氣了都是怎麼哄的? 不會吧不會吧,不會有人還是單身狗吧! 算了,還是回到正題吧,再說我要挨打了~ 今天咱們來交流一下程式員是怎麼哄女朋友的,話不多說直接開始! 準備工作 1、環境 首先我們準備好環境和編輯器,我使用的是: Python 3.8 解釋器 Pycharm 編輯器 2、 ...
話說兄弟們,女朋友生氣了都是怎麼哄的?
不會吧不會吧,不會有人還是單身狗吧!
算了,還是回到正題吧,再說我要挨打了~
今天咱們來交流一下程式員是怎麼哄女朋友的,話不多說直接開始!
準備工作
1、環境
首先我們準備好環境和編輯器,我使用的是:
- Python 3.8 解釋器
- Pycharm 編輯器
2、使用的模塊
import re # 正則表達式模塊 import requests # 數據請求模塊 import os # 文件操作模塊 import ctypes # 時間模塊
request是第三方模塊,需要手動安裝一下,win + R
輸入cmd
輸入安裝命令pip install requests
其它的都是自帶的,不用安裝,直接調用。
3、如何配置pycharm裡面的python解釋器?
- 選擇file(文件) >>> setting(設置) >>> Project(項目) >>> python interpreter(python解釋器)
- 點擊齒輪, 選擇add
- 添加python安裝路徑
4、pycharm如何安裝插件?
- 選擇file(文件) >>> setting(設置) >>> Plugins(插件)
- 點擊 Marketplace 輸入想要安裝的插件名字 比如:翻譯插件 輸入 translation / 漢化插件 輸入 Chinese
- 選擇相應的插件點擊 install(安裝) 即可
- 安裝成功之後 是會彈出 重啟pycharm的選項 點擊確定, 重啟即可生效
代碼實戰
為了單身的小伙伴,於是我將案例分為兩個部分。
- 獲取壁紙
- 設置自動更換
當然,不單身的話直接看第二部分,哈哈~
1、獲取壁紙
首先來實現單張壁紙獲取
這裡分為四個步驟來獲取壁紙,後面的網址我都屏蔽一下,防止檢測。
- 發送請求, 對於 http://www.***.com/desk/31131.htm 發送請求
- 獲取數據, 獲取網頁源代碼 <伺服器返迴響應數據>
- 解析數據, 提取我們想要的數據內容 壁紙鏈接以及名字
- 保存數據, 把壁紙文件保存到本地文件
發送請求
for page in range(3, 21): print(f'正在採集第{page}頁的數據內容') # 請求鏈接 link = f'http://www.****.com/index_{page}.htm' # 發送請求 html_data = requests.get(link).text # 提取ID img_id_list = re.findall('<a href="/desk/(\d+)\.htm" title=', html_data) # for迴圈遍歷 for img_id in img_id_list: # 請求鏈接 url = f'http://www.***.com/desk/{img_id}.htm' # 發送請求 response = requests.get(url)
獲取數據
response.text 獲取響應文本數據
response.encoding = response.apparent_encoding 自動識別碼
解析數據
# 獲得到數據, 返回出現亂碼了 response.encoding = 'gbk' # 鏈接地址 以及 標題 img, title = re.findall('<img src="(.*?)" alt="(.*?)"', response.text)[0] print(img, title)
保存數據
# 發送請求, 獲取數據 # 完整源碼+視頻講解+表白牆代碼 # 都放在這個摳裙了:815624229 img_content = requests.get(img).content with open('img\\' + title + '.jpg', mode='wb') as f: f.write(img_content)
多頁多個數據採集
這裡只講一下大概思路,我有專門錄製視頻來講解,可以在文末獲取。
一個鏈接, 對應一個數據,獲取多個鏈接, 獲取多個數據。
http://www.***.com/desk/31095.htm http://www.***.com/desk/31131.htm http://www.***.com/desk/31090.htm http://www.***.com/desk/31092.htm 第二頁: http://www.***.com/index_2.htm 第三頁: http://www.***.com/index_3.htm 第四頁: http://www.***.com/index_4.htm
自動更換壁紙程式
import os import ctypes import cv2 def Change(): # 壁紙文件夾路徑 wallpaper_dir = r"D:\壁紙\output" # 獲取壁紙文件夾中的文件列表 wallpapers = os.listdir(wallpaper_dir) # 隨機選擇一張壁紙 # wallpaper_filename = random.choice(wallpapers) for wallpaper in wallpapers: # 拼接壁紙文件的完整路徑 wallpaper_path = os.path.join(wallpaper_dir, wallpaper) # 設置壁紙 ctypes.windll.user32.SystemParametersInfoW(20, 0, wallpaper_path, 3) def convert_mp4_to_jpgs(path): video_capture = cv2.VideoCapture(path) still_reading, image = video_capture.read() frame_count = 5 # 保存的起始幀的編號005 while still_reading: cv2.imwrite(f"output/frame_{frame_count:03d}.jpg", image) # read next image still_reading, image = video_capture.read() frame_count += 5 # 保存幀依次增加5,005>>010>>015....... Change()
最後
為了大家能更好的讓女朋友感受到你的誠意,我還準備了一份將女友照片做成照片牆的源碼,和本文源碼+視頻講解都打包好了,直接在在公眾號【Python學習交流】發送關鍵字【照片】自動領取。
來看看效果
好了,哄女朋友的分享就到這結束了,建議大家沒事還是不要惹女朋友生氣了,哄好了還好,哄不好就G了!