国产日韩欧美一区二区三区综合,日本黄色免费在线,国产精品麻豆欧美日韩ww,色综合狠狠操

極客小將

您現在的位置是:首頁 » python編程資訊

資訊內容

Python簡單地實現一鍵提取陰陽師原畫方法

極客小將2021-02-26-
簡介免費學習推薦:python視頻教程xpath–簡單的爬蟲實例–提取陰陽師原畫壁紙文章目錄一、前言二、需要用到的庫三、實現過程1、分析網頁2、完整代碼實現四、合成視頻一、前言很多人都玩過陰陽師吧,別的不談,陰陽師的原畫制作的那是相當地精細,閑暇之余,用幾行簡單的代碼爬取下來,豈不美哉?二、需要用到的庫
hNC少兒編程網-https://www.pxcodes.com

免費學習推薦:python視頻教程hNC少兒編程網-https://www.pxcodes.com

xpath–簡單的爬蟲實例–提取陰陽師原畫壁紙hNC少兒編程網-https://www.pxcodes.com

文章目錄hNC少兒編程網-https://www.pxcodes.com

一、前言二、需要用到的庫三、實現過程1、分析網頁2、完整代碼實現四、合成視頻

一、前言hNC少兒編程網-https://www.pxcodes.com

很多人都玩過陰陽師吧,別的不談,陰陽師的原畫制作的那是相當地精細,閑暇之余,用幾行簡單的代碼爬取下來,豈不美哉?hNC少兒編程網-https://www.pxcodes.com

二、需要用到的庫hNC少兒編程網-https://www.pxcodes.com

import requestsfrom lxml import etreefrom fake_useragent import UserAgentimport os

沒用安裝庫的小伙伴,可以看一下我之前寫的這篇文章,里面有很多國內源的鏈接,方便你的下載。hNC少兒編程網-https://www.pxcodes.com

傳送門hNC少兒編程網-https://www.pxcodes.com

三、實現過程hNC少兒編程網-https://www.pxcodes.com

1、分析網頁

首先打開*網,*網傳送門,點擊“視聽中心”里面的“原畫壁紙”
hNC少兒編程網-https://www.pxcodes.com

進入到原畫壁紙頁面后,選擇一個壁紙,進行檢查。hNC少兒編程網-https://www.pxcodes.com


我發現,對于不同的分辨率,有不同的鏈接對應,而我檢查的這張圖有六個分辨率,是不是所有的圖片都是這樣呢?
后來我發現,并不是!

如上所示,有個圖甚至只有四個分辨率,并且,每張圖的分辨率的位置對應還不一致,那該怎么提取原畫鏈接呢?hNC少兒編程網-https://www.pxcodes.com

A:利用xpath,根據文本內容提取節點hNC少兒編程網-https://www.pxcodes.com

a = lists[i].xpath('./p/p/a[contains(text(), "1920x1080")]')[0]

這樣就能提取到分辨率為“1920x1080”的a節點了。hNC少兒編程網-https://www.pxcodes.com

Q:lists[i]是什么?
A:看了完整代碼就知道了。hNC少兒編程網-https://www.pxcodes.com

2、完整代碼實現import requestsfrom lxml import etreefrom fake_useragent import UserAgentimport os path = 'D:/陰陽師'if not os.path.exists(path): os.mkdir(path)# 隨機產生請求頭ua = UserAgent(verify_ssl=False, path='fake_useragent.json')url = 'https://yys.163.com/media/picture.html' # 原畫壁紙的頁面鏈接response = requests.get(url=url).text html = etree.HTML(response)lists = html.xpath('/html/body/p[2]/p[3]/p[1]/p[3]/p[2]/p')num = 1for i in range(len(lists)): a = lists[i].xpath('./p/p/a[contains(text(), "1920x1080")]')[0] # 根據文本內容鎖定節點a image_url = a.xpath('./@href')[0] # 獲取原畫壁紙鏈接 image_data = requests.get(url=image_url).content image_name = '{}.jpg'.format(num) # 給每張圖片命名 save_path = path + '/' + image_name # 圖片的保存地址 with open(save_path, 'wb') as f: f.write(image_data) print(image_name, '=======================>下載成功!!!') f.close() num += 1

運行結果如下:

hNC少兒編程網-https://www.pxcodes.com

四、合成視頻hNC少兒編程網-https://www.pxcodes.com

通過合成視頻,可以慢慢欣賞爬取下來的原畫,舒服極了。hNC少兒編程網-https://www.pxcodes.com

代碼如下:hNC少兒編程網-https://www.pxcodes.com

import cv2import os# 輸出視頻的保存路徑video_dir = 'D:/yinyangshi/result.mp4'# 幀率fps = 0.2# 圖片尺寸img_size = (1920, 1080)fourcc = cv2.VideoWriter_fourcc('M', 'P', '4', 'V') # opencv3.0 mp4會有警告但可以播放videoWriter = cv2.VideoWriter(video_dir, fourcc, fps, img_size)img_files = os.listdir('D:/yinyangshi/')for i in range(1, 397): img_path = 'D:/yinyangshi/tupian/' + '{}.jpg'.format(i) frame = cv2.imread(img_path) frame = cv2.resize(frame, img_size) # 生成視頻 圖片尺寸和設定尺寸相同 videoWriter.write(frame) # 寫進視頻里 print(f'======== 按照視頻順序第{i}張圖片合進視頻 ========')videoWriter.release() # 釋放資源

注意:合成視頻時,圖片的保存路徑和視頻的生成路徑不能包含中文!!!hNC少兒編程網-https://www.pxcodes.com

<iframe id="pOhrb3iY-1614224431256" src="https://player.bilibili.com/player.html?aid=971758024" allowfullscreen="true" data-mediaembed="bilibili"></iframe> hNC少兒編程網-https://www.pxcodes.com

陰陽師原畫合集hNC少兒編程網-https://www.pxcodes.com

相關免費學習推薦:python教程(視頻)hNC少兒編程網-https://www.pxcodes.com

以上就是Python簡單地實現一鍵提取陰陽師原畫方法的詳細內容,更多請關注少兒編程網其它相關文章!hNC少兒編程網-https://www.pxcodes.com

預約試聽課

已有385人預約都是免費的,你也試試吧...

主站蜘蛛池模板: 巧家县| 富锦市| 阜宁县| 宜州市| 宜春市| 吉林市| 穆棱市| 静乐县| 彰武县| 昌邑市| 出国| 临高县| 上杭县| 历史| 额济纳旗| 天气| 疏勒县| 肥东县| 江北区| 双峰县| 宜章县| 泽普县| 高密市| 包头市| 华容县| 抚州市| 永靖县| 翁源县| 武城县| 虎林市| 喜德县| 古蔺县| 宣武区| 益阳市| 万宁市| 咸阳市| 延寿县| 南汇区| 壶关县| 灵寿县| 玉龙|