Hallo Guys 😁😁
Kali ini ane mau share tentang cara membuat script download musik dengan python. Sebelum kita lanjut membuat script ini agan harus sudah mempelajari bahasa pemrograman python dan juga agan harus memahami module module nya
Module yang akan kita gunakan adalah
- requests
- bs4
- urlib
- time
- os
- sys
Ok kita lanjut ke tutorial nya
Pertama kita buat import dulu module yang kita butuh kan. Tulis perintah import seperti ini
import requests, os, sys, time, url.request
from bs4 import BeautifulSoup
Selanjutnya cari dulu situs yang akan agan gunakan untuk mendownload lagu. Saya disini saya akan menggunakan situs www.planetlagu.blog
Setwlah agan menentukan situs yangbakan agan gunakan kita kembali ke pengeditan script
kita buat dulu variable requests dulu
import requests, os, sys, time, url.request
from bs4 import BeautifulSoup
session = requests.Session()
selanjutnya kita buat juga fungsi agar nanti kita mudah untuk memanggil program
def main():
kita isi fungsi main dengan variable url situs kalian dan juga mendapatkan kontent isi dalam situs tersebut
def main():
url = "https://www.planetlagu.blog"
konten = session.get(url)
kita lanjut ke parsing data dari situs tersebut dengan module bs4
def main():
url = "https://www.planetlagu.blog"
konten = session.get(url)
soup = BeautifulSoup(konten.content, "html.parser")
jika agan jalankan perintah di atas yang muncul hanyal source kode dari situs tersebut
La terus cara dapet lin kontent dari situs tersebut gimana om. Tenang di sini saya akan menunjukan cara mendapatkan kontent dari situs tersebut misal di sini saya akan mencoba mencari judul lagu yang ada di situs tersebut. Silahkan coba lihat ini view-source:https://www.planetlagu.blog penambahan view-source: disini di gunakan untuk melihat source kode dalam situs tersebut.
cari kode yang mengandung judul lagu. menrut yang saya temukan adalah div class="media-body ktz-post"
ok kita lanjut ke penulisn program nya
def main():
url = "https://www.planetlagu.blog"
konten = session.get(url)
soup = BeautifulSoup(konten.content, "html.parser")
angka = 0
for lagu in soup.find_all("div", class_="media-body ktz-post"):
angka += 1
print (str(angka), lagu.text)
disini jika agan jalankan sudah bisa menemukan judul dari isi dari situs tersebut
Selanjutnya kita buat fungsi untuk mendapatkan link yang akan kita buat untuk mendownload lagu
def link(x):
url = "https://www.planetlagu.blog"
konten = session.get(url)
soup = BeautifulSoup(konten.content, "html.parser")
angka = 0
for lagu in soup.find_all("div", class_="media-body ktz-post"):
angka += 1
if angka == x:
for jud in lagu.findChildren('a', rel="bookmark"):
global link
link = jud.get('href')
global judul_lagu
judul_lagu = lagu.text
break
Ok Kita juga harus membuat fungsi untuk memilih lagu yangbakan kita cari link nya
def pilihan():
pilihan = input('Masukan Lagu : ')
setelah itu masukkan fungsi link ke dalam fungsi pilihan
def pilihan():
pilihan = input('Masukan Lagu : ')
link(int(pilihan))
print (link)
Ok jika agan jalankan perintah tersebut maka akan muncul link sesuai yang agan pilih sesuai lagu pilihan agan
Saya coba dan pastekan di browser hasil nya seperti gambar di bawah ini
Ok Lanjut, Saatnya kita buat program untuk download lagunya ok
Tambahkan perintah inibdalam fungsi pilihan
def pilihan():
main()
pilihan = input('Masukkan Lagu : ')
link(int(pilihan))
konten = session.get(link)
seperti tadi mari kita lihat source kode dari link yang sudah kita dapatkan tadi view-source:https://www.planetlagu.blog/blackpink-ddu-du-ddu-du/
dan silahkan cari kode ini
div class="embed-audio-mp3"
ok kita balik lagi ke script yang kita buat tadi. tambah kan perintah ini untuk memfilter kink yang akan kita gunakan untuk mendownload
def pilihan():
main()
pilihan = input('Masukkan Lagu : ')
link(int(pilihan))
konten = session.get(link)
soup = BeautifulSoup(konten.content, "html.parser")
for lagu in soup.find_all("div", class_="embed-audio-mp3"):
for link1 in lagu.findChildren('source'):
down = link1.get('src')
mari kita download dengan urlib.request.urlretrieve()
def pilihan():
main()
pilihan = input('Masukkan Lagu : ')
link(int(pilihan))
konten = session.get(link)
soup = BeautifulSoup(konten.content, "html.parser")
for lagu in soup.find_all("div", class_="embed-audio-mp3"):
for link1 in lagu.findChildren('source'):
down = link1.get('src')
urllib.request.urlretrieve(down, judul_lagu+'.mp3')
Sampai di sini agan sudah bisa mendownload lagu yang ada di situs tersebut
mari kita buat agak menarik proses download nya. kita akan menambah kan progresbar pada download nya buat dulu fungsi nya
def Download_Progress(count, block_size, total_size):
global start_time
if count == 0:
start_time = time.time()
return
duration = time.time() - start_time
progress_size = int(count * block_size)
speed = int(progress_size / (1024 * duration))
percent = int(count * block_size * 100 / total_size)
sys.stdout.write("\r...%d%%, %d MB, %d KB/s, %d seconds passed" %
(percent, progress_size / (1024 * 1024), speed, duration))
sys.stdout.flush()
dan masukkan lagi prentah reoprt nya ke urlib.request.urlretrieve()
def pilihan():
main()
pilihan = input('Masukkan Lagu : ')
link(int(pilihan))
konten = session.get(link)
soup = BeautifulSoup(konten.content, "html.parser")
for lagu in soup.find_all("div", class_="embed-audio-mp3"):
for link1 in lagu.findChildren('source'):
down = link1.get('src')
urllib.request.urlretrieve(down, judul_lagu+'.mp3', reporthook=Download_Progress)
Ok sudah jadi program kita. kurang lebih jika di gabungkan menjadi satu seperti di bawah ini.
import requests, os, sys, urllib.request, time
from bs4 import BeautifulSoup
from time import sleep
session = requests.Session()
def main():
url = "https://www.planetlagu.blog"
konten = session.get(url)
soup = BeautifulSoup(konten.content, "html.parser")
angka = 0
for lagu in soup.find_all("div", class_="media-body ktz-post"):
angka += 1
print (str(angka), lagu.text)
def link(x):
url = "https://www.planetlagu.blog"
konten = session.get(url)
soup = BeautifulSoup(konten.content, "html.parser")
angka = 0
for lagu in soup.find_all("div", class_="media-body ktz-post"):
angka += 1
if angka == x:
for jud in lagu.findChildren('a', rel="bookmark"):
global link
link = jud.get('href')
global judul_lagu
judul_lagu = lagu.text
break
def Download_Progress(count, block_size, total_size):
global start_time
if count == 0:
start_time = time.time()
return
duration = time.time() - start_time
progress_size = int(count * block_size)
speed = int(progress_size / (1024 * duration))
percent = int(count * block_size * 100 / total_size)
sys.stdout.write("\r...%d%%, %d MB, %d KB/s, %d seconds passed" %
(percent, progress_size / (1024 * 1024), speed, duration))
sys.stdout.flush()
def pilihan():
main()
pilihan = input('Masukkan Lagu : ')
link(int(pilihan))
konten = session.get(link)
soup = BeautifulSoup(konten.content, "html.parser")
for lagu in soup.find_all("div", class_="embed-audio-mp3"):
for link1 in lagu.findChildren('source'):
down = link1.get('src')
urllib.request.urlretrieve(down, judul_lagu+'.mp3', reporthook=Download_Progress)
if __name__ == "__main__":
pilihan()
ok kita akan mencoba jalankan program tools yang baru kita buat tadi
ok untuk mendengarkan lagu hasil downloadnya silahkan pindah kan dulu file lagunya ke memory internal
misal nama file lagu saya Bunga Citra Lestari – Harta Berharga (From “Keluarga Cemara”) By Bunga Citra LestariOn 4 January 2019.mp3 . cara mindahin nya cukup ketik saja
mv -f "Bunga Citra Lestari – Harta Berharga (From “Keluarga Cemara”) By Bunga Citra LestariOn 4 January 2019.mp3" /sdcard
Silahkan kembangkan sendiri script yang kita buat hari ini. Ok
Sekian dulu dari saya terima kasih
Saya akan melanjutkan tutorial kali ini Pada Post selanjutnya jadi tunggu update an selanjutnya
jika agan merasa tutorial kali ini menarik anda silahkan bantu author deng cara klik iklan dan tunggu 5 - 10 detik. Terimakasih
No comments:
Post a Comment