Python初心者歴3年目ですが「使える」ソフトを作った【v1.0リリース】

初心者歴3年目

最初にPythonに触れたのは中学校1年ですが、その頃はメンタルズタボロ期だったので本当に触り始めたのは中学校2年の夏くらい。

最初は

name = input("Name:")
print("Name: "+name)

みたいなコード書いてキャッキャしてましたね。懐かしい。

歴代成果物

Misskey用の地震速報BOTを作成しました。p2p地震情報のwsを使用して震度速報と緊急地震速報(警報)を整形して投稿するやつを作りました。(ソースコードはどっか行った)

地震情報をp2p地震情報のapiで取得して震源位置を地図にプロット、それを保存するみたいなやつを作りました。(ソースコードはどっか行った)

こういうやつね

exeファイルをスタートアップに簡単に登録できるソフト。ダウンロードは↓から行える。

exeファイルをワンクリックでスタートアップに登録できます. Contribute to samenoko-112/startup-add developmen…
github.com

今回紹介するもの

yt-dlpをGUIで簡単に使えるようにしたもの。

yt-dlpをGUI化しただけ. Contribute to samenoko-112/yt-dlpGUI development by creating an…
github.com

↓こんな見た目です。

このソフトでは以下の機能があります!!

  • 動画のダウンロード
  • 音声抽出
  • プレイリストでフォルダ分け
  • ファイル名の先頭にプレイリストのインデックスを追加
  • サムネイルの埋め込み
  • 同時接続,Aria2を使用した並列ダウンロード
  • cookieの読み込み

動画のダウンロード?

yt-dlpでダウンロードできるサイトならほとんど対応してると思います。

手元では YouTube/nicovideo/TVer/Abema をダウンロードできることを確認しました。

mp4の場合は画質選択できるんですが、1080pとしても対応するフォーマットがなければ自動で選択されます。

音声の抽出

ダウンロードした動画ファイルをmp3,wavで書き出します。mp3の場合はビットレートを指定できます。

またmp3の場合はサムネイルを埋め込むことができます。

プレイリストでフォルダ分け

{プレイリストのタイトル}/{ファイル名} に保存されるっていうだけです。

プレイリストのインデックスを追加

{インデックス}_{動画タイトル}.{拡張子} のようなファイル名になるっていうだけです。

プレイリストでない場合はNAに置き換えられます。

サムネイルの埋め込み

サムネイルをファイルに埋め込みます。ただそれだけです。wavファイルには埋め込めません(ifで分岐させてます)

同時接続,Aria2を使った並列ダウンロード

どちらも同時接続してダウンロードを高速化させるオプションです。Aria2のほうはパソコンにaria2がインストールされている必要があります。

ですがサーバーに負荷がかかる行為ではあるため途中で速度制限がかかったりするかもしれません。

YouTubeの場合は使わなくても十分早いです。

cookieの読み込み

非公開のプレイリストのダウンロードなどができるようになります。そのほかはここでは言えません

注意!!!!!

著作権はその動画の製作者にあります!!著作権の侵害には気を付けてくださいね!!!!!!!!!!!!

作ってみて

まずこのソフトで使われているGUIの部分はfletというライブラリを使用しています。

fletは簡単に良い感じの見た目が作れるのでとてもいいです。

import flet as ft

def main(page:ft.Page):
    page.title = "Hello flet"

    hello = ft.Text("hello",size=24)
    button = ft.ElevatedButton("Click!!")

    page.add(hello, button)

if __name__ == "__main__":
    ft.app(target=main)

このコードを実行すると

こんな感じのウィンドウが出てきます。簡単でしょ?

tkinterとか、もう戻れないよ()

以上

以上です。pythonはね、本当に便利だよ!!constしなくてもいいんだよ!!

python触ってたらJS触れなくなった話してもいいですか?

終わりでーす。