ホームページ > バックエンド開発 > Python チュートリアル > Python は陰陽師の原画を抽出するワンクリックメソッドを実装するだけです

Python は陰陽師の原画を抽出するワンクリックメソッドを実装するだけです

coldplay.xixi
リリース: 2021-02-26 10:29:05
転載
2385 人が閲覧しました

Python は陰陽師の原画を抽出するワンクリックメソッドを実装するだけです

無料学習の推奨事項: Python ビデオ チュートリアル

#xxpath – 簡単なクローラーの例 – 陰陽師原画壁紙の抽出

##記事ディレクトリ

1. はじめに
  • 2. 使用するライブラリ
    • 3. 実装プロセス
    • 1. Web ページの分析
      • 2. 完全なコード実装
        • ##4. 合成ビデオ
    • 1. はじめに
    「陰陽師」をプレイしたことのある人は多いと思いますが、中でも「陰陽師」の原画は非常に繊細で、暇なときに簡単なコードを数行書くだけでクロールできます。脱いだら綺麗じゃないですか?

2. 使用する必要があるライブラリ

import requestsfrom lxml import etreefrom fake_useragent import UserAgentimport os
ログイン後にコピー
ライブラリをインストールする必要がない人は、以前に書いたこの記事を参照してください。多くの国内ソースが含まれています。ダウンロードを容易にするためのリンク。

ポータル

3. 導入プロセス

1. Webページの分析

まず、公式Webサイト、公式Webサイトポータルを開き、 「

オリジナル ペイント壁紙」の「オーディオ ビジュアル センター

」をクリックします。

オリジナル ペイント壁紙ページに入ったら、壁紙を作成して確認してください。
異なる解像度に対応する異なるリンクがあることがわかり、私が確認した画像には 6 つの解像度がありました。すべての画像がこのようなものですか?

後で、そうではないことがわかりました。

上に示したように、1 つの絵でも解像度が 4 つしかなく、各絵の解像度と位置が一致していない場合、元の絵のリンクを抽出するにはどうすればよいでしょうか?

A: xpath を使用してテキストの内容に基づいてノードを抽出しますPython は陰陽師の原画を抽出するワンクリックメソッドを実装するだけです

a = lists[i].xpath('./p/p/a[contains(text(), "1920x1080")]')[0]
ログイン後にコピー

このようにして、解像度「1920x1080」のノードを抽出できます。

Q:Python は陰陽師の原画を抽出するワンクリックメソッドを実装するだけですlists[i]
とは何ですか? A: 完全なコードを読めばわかります。

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
ログイン後にコピー
実行結果は次のとおりです:


4. 合成ビデオ


Python は陰陽師の原画を抽出するワンクリックメソッドを実装するだけです合成映像を通して、ゆっくりとクロールされた原画を鑑賞することができ、とても心地よいです。
Python は陰陽師の原画を抽出するワンクリックメソッドを実装するだけですコードは次のとおりです:

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()   # 释放资源
ログイン後にコピー

注: ビデオを合成する場合、画像保存パスとビデオ生成パスに中国語を含めることはできません。 ! !

#陰陽師原画コレクション

関連無料学習の推奨事項:

python チュートリアル

#(ビデオ)

以上がPython は陰陽師の原画を抽出するワンクリックメソッドを実装するだけですの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート