Çözüldü Txt dosyasındaki müzik listesi YouTube'a nasıl aktarılır?

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

773521

Zeptopat
Katılım
8 Nisan 2024
Mesajlar
17
Elimde içinde müzik listesi olan bir txt dosyası var. Ben bu listeyi YouTube'da oynatma listesine nasıl çevirebilirim?
 
Çözüm
Python:
import os
import pickle
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request
from googleapiclient.discovery import build

credentials = None
if os.path.exists("giristokeni.pickle"):
    print("Token dosya üzerinden alınıyor...")
    with open("giristokeni.pickle", "rb") as token:
        credentials = pickle.load(token)

if not credentials or not credentials.valid:
    if credentials and credentials.expired and credentials.refresh_token:
        print("Token yenileme...")
        credentials.refresh(Request())
    else:
        print("Yeni Token oluşturma")
        flow = InstalledAppFlow.from_client_secrets_file("client_secret.json", scopes=["https://www.googleapis.com/auth/youtube.force-ssl"])
        flow.run_local_server(port=1453, authorization_prompt_message="consent")

        credentials = flow.credentials
      
        with open("giristokeni.pickle", "wb") as f:
            print("Token Kaydediliyor")
            pickle.dump(credentials, f)


youtube = build("youtube", "v3", credentials=credentials)

def youtube_search(query):
    request = youtube.search().list(
        q=query,
        part='id',
        maxResults=1
    )
    response = request.execute()
    video_id = response['items'][0]['id']['videoId']
    return video_id

def add_video_to_playlist(video_id, playlist_id):
    request = youtube.playlistItems().insert(
        part="snippet",
        body={
            "snippet": {
                "playlistId": playlist_id,
                "resourceId": {
                    "kind": "youtube#video",
                    "videoId": video_id
                }
            }
        }
    )
    response = request.execute()
    print(f"Video Playlist'e eklendi. Başlık: {response['snippet']['title']}")


if __name__ == "__main__":
    playlistid=""
    with open("songs.txt", 'r', encoding='utf-8') as file:
        for line in file:
            song_name = line.strip()
            video_id = youtube_search(song_name)
            add_video_to_playlist(video_id, playlistid)

Öncelikle google cloud üzerinden bir proje oluşturmanız ve Outh 2.0 adımlarını tamamlayıp google hemen onay vermeyeceği için giriş yapacağınız e-postayı test kullanıcısı olarak eklemeniz gerekmekte.
Burada YT API'sini etkinleştiriyoruz.


Bu kısımda ise uygulamanın gereksinimini seçiyoruz



Tüm bunları yapınca bize bir client_secret_xxx.json şeklinde bir dosya verecek. O dosyayı indirip proje dizinine client_secret.json şeklinde isimlendirip atıyoruz.
Sonrasında ise songs.txt adındaki dosyamızı da program içeriğine atıyoruz ve programı Python ile başlatıyoruz.

Kullandığım kütüphaneleri indirmek için: pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib

venv
ortamı oluşturmanızı öneririm.

bu program youtube arama çubuğunu kullanıyor gibi düşün eğer o arama yt üzerinde de çıkıyorsa ekler. fakat gördüğüm kadarıyla sonunda hep mp3 var gibi bu yüzden mp3 kısımlarından sonra gelenleri silebilirsiniz.
Bilgisayarın eski olmasına gelirsek dosya çok aşırı büyük olmadığı sürece bir problem olmayacaktır. bahsettiğim txt dosyasının 100-200mb şeklinde olması.


Aradığım zaman bir sıkıntı çıkmıyor gibi gözüküyor.
Rahatsız ettim de bilgisayara hangi programları indireceğim pek bildiğim şeyler değil de.
VS Code:
Python:
 
Python’ın farklı projelerde karışmamasını sağlar. VS Code içinde Python eklentisini yüklerseniz o sizin yerinize otomatik venv’i oluşturabileceğiniz bir kolaylık sağlar.
 
Python'ın farklı projelerde karışmamasını sağlar. VS Code içinde Python eklentisini yüklerseniz o sizin yerinize otomatik Venv'i oluşturabileceğiniz bir kolaylık sağlar.

Uzun bir süre sonra tekrardan bir şey sormak istiyorum Python'i indirsem v
vs codu indirmesem kodları not defterine yapistirip Python olarak kaydedsem olur mu?

@coa3 merhaba ben bu işi beceremedim size txt dosyasını göndersem olur mu?

@coa3 merhaba ben bu işi beceremedim size txt dosyasını göndersem olur mu?

@coa3 merhaba ben bu işi beceremedim size txt dosyasını göndersem olur mu?

@coa3 Merhaba ben bu işi beceremedim size txt dosyasını göndersem olur mu?

Merhaba @coa3 ben bu işi beceremedim size txt dosyasını göndersem olur mu?

Merhaba @coa3 ben bu işi beceremedim size txt dosyasını göndersem olur mu?
 
Son düzenleme:
Kodları not defteri ile de yapıştırabilirsiniz. Fakat vscode zaten düşük boyutlu bir uygulama kullanımının neredeyse notepad’den farkı yok. Txt dosyasını Drive gibi bir yere yükleyip buradan paylaşın eğer vaktim olursa akşam ilgilenebilirim.
 

list.txt
Halllettim
 
Son düzenleme:
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…