Pythonは短いクロール音楽です

python bitter short-音楽をダウンロード#

概要##

使用したライブラリ
requests:
クローラーが使用するリクエストライブラリ
jsonpath:
jsonデータを処理するためのサードパーティライブラリ
os:
Pythonファイルシステム操作ライブラリ
urlretrieve:
Url解析ライブラリ
tkinter:
Tkinterは、Pythonでより多く使用されるGUIライブラリです。GUIはページの制御操作を指します。これは、Rの最も基本的なエディタR-guiに似ています。グラフィカルボタン、テキストボックス、を実現できる最も基本的な描画ツールのいくつかを提供します。この記事で使用されているグラフィックコントロールには、主にVBフレーバーが含まれています。

ソフトウェアの目標##

  1. 音楽ダウンローダーを開発する
  2. クローラーで音楽を入手し、インターネットで音楽を分析する
  3. 音楽をダウンロードするためのインターフェースを実現する

チュートリアルはステーションBのPython学習者からのものです

コードの詳細##

# 必要なライブラリをインポートする
# 曲名を検索
import requests
import jsonpath
import os
from urllib.request import urlretrieve
from tkinter import* 

# クローラー部分=-===============================================
# 曲ダウンロード機能
def song_load(url,title):
 # ダウンロードした音楽を保存するフォルダを作成する
 os.makedirs("音楽",exist_ok=TRUE)
 # 保存パスと保存名を設定します
 path ="音楽\{}.mp3".format(title)
 # ダウンロードの進行状況を示すテキストを挿入
 text.insert(END,'歌:{}...ダウンロード...'.format(title))
 # テキストボックススクロール
 text.see(END)
 # 更新
 text.update()
 # urlretrieve関数を介してダウンロードをリクエストする
 urlretrieve(url,path)
 # テキストコントロールでダウンロードが完了したことを示す
 text.insert(END,'{}ダウンロード済み'.format(title))
 # テキストボックススクロール
 text.see(END)
 # 更新
 text.update()

# 音楽取得機能を定義する
def get_music_name():
 name=entry.get()
 # スクラブ防止を防ぐためにリクエストヘッダーを追加します
 # これは、Xを使用した前のものとは異なります-Requested-With
 headers={'X-Requested-With':'XMLHttpRequest'}
 # パラメータは、ログインや検索など、投稿リクエストの特別な要件です。
 # このとき、フォームデータをリクエスト機能に追加する必要があります
 params={'input':name,'filter':'name','type':'netease','page':1,}
 # 宛先URLは無料のvip音楽分析ウェブサイトです
 url ='http://www.youtap.xin/'
 # 投稿機能で宛先URLをリクエストする
 resp = requests.post(url,data=params,headers=headers)
 # json関数を使用してターゲットを解析します
 data = resp.json()
 # ターゲット音楽の名を取得します
 title=jsonpath.jsonpath(data,"$..title")[0]
 # ターゲットの音楽作者を取得する
 author=jsonpath.jsonpath(data,"$..author")[0]
 # ダウンロードアドレスを取得する
 url=jsonpath.jsonpath(data,"$..url")[0]
 # 音楽のダウンロード
 song_load(url,title)

# インターフェイスレイアウト-==========================================================
# 1. キャンバスを作成し、Tk関数を使用してコントロールを構築します
root =Tk()
# 2. コントロールタイトルを追加
root.title("ミュージックダウンローダー")
# 3. プログラムのウィンドウサイズを設定する
root.geometry('760x550+400+200')
# 4. ラベルコンポーネント
label=Label(root,text='ダウンロードした曲を入力してください: ',font=('中国のXingkai',20))
# 5. ラベルの配置
label.grid()

# 6. 入力ボックスを設定し、入力ボックスを0行1列に配置します
entry =Entry(root,font=('公式スクリプト',20))
entry.grid(row=0, column=1)
# 7. リストボックスを設定し、1行0として配置します-2列、同時にセルサイズを設定
text=Listbox(root,font=('公式スクリプト',20),width=50,height=15)
text.grid(row=1,columnspan=2)
# 8. ダウンロードボタンコントロールを追加
# 以前に記述されたgetをコマンドパラメータを介して呼び出します_music_名前関数
button1=Button(root,text='ダウンロード: ',font=('公式スクリプト',15),command=get_music_name)
button1.grid(row=2,column=0,sticky=W)
# 9. 終了ボタン
# コマンドパラメータを使用してシステムの終了関数を呼び出し、終了を実現します
button2=Button(root,text='脱落: ',font=('公式スクリプト',15),command=root.quit)
button2.grid(row=2,column=1,sticky=E)

# ループを介してインターフェイスを継続的に表示します。そうしないと、インターフェイスが次のように点滅します。
root.mainloop()

プログラムの実行結果##

インターフェース

主にインターフェイスのサイズ設定が原因で、インターフェイスは完全ではなく、多くの役に立たない境界線があります

ダウンロードする

入力ボックス、ダウンロードボタン、終了ボタン、およびリストボックスコントロールが適切に機能します

結果をダウンロード

作業ディレクトリで、ダウンロードした音楽を見つけます

可聴テスト

音楽プレーヤーのテストを通して、曲は完成します

結びの言葉##

今日から学校が始まってからほぼ1週間が経ちました。北京に戻ってから忙しくなりました。途中で山東に出張しました。また、リゲンの公式アカウントを周源にドラッグしました。最近はたくさんのことがあります。世界が平和になりますように。人々は幸せです。

love&peace

Recommended Posts

Pythonは短いクロール音楽です
Python 3.9が登場!
なぜpythonが人気なのか
Pythonはゆっくりと衰退しています
Pythonは一時停止音楽を再生します
pythonは解釈された言語ですか?
pythonは解釈された言語ですか
Pythonは短世界の流行マップです
Pythonは短い_SVMテストです
pythonコードは大文字と小文字を区別しますか
pythonのイントロスペクションとは何ですか
pythonのオブジェクト指向とは何ですか
Python変数スコープとは
pythonのリスト内包表記とは何ですか
pythonに関数のオーバーロードはありますか
Pythonのディープコピーは完璧ではありません
Pythonの判断は空のインスタンス共有です
Pythonはクロスプラットフォームの言語コードです
Pythonの用途は何ですか
python言語は無料ですか、それとも有料ですか?
Pythonのすべてがオブジェクトです
pythonはデータマイニングに適していますか
pythonクローラーは簡単に習得できますか
python言語のアルゴリズムはありますか
python変数の範囲は何ですか
pythonのid関数は何ですか
Pythonの匿名関数とは何ですか
python3のピップパスはどこにありますか
自習用pythonに適したシステム
python開発の見通しは何ですか
Pythonのシーケンステーブルとは
pythonの数値は可変型ですか
音楽ファイルを開くためのPythonのサンプルメソッド
pythonがクローラーの作成に適しているのはなぜですか
警告! Pythonは徐々にその魅力を失っています!
pythonの関数本体は何ですか
Pythonは主にどの方向に使用されます
pythonにヘルパー関数はありますか
pythonインストール後のディレクトリはどこにありますか
pythonで背景音楽を追加する方法