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)
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.Tamam teşekkürler. Bilgisayar biraz eski dosya biraz uzun herhangi bir sorun çıkmaz değil mi?
Bir de mesela listede müziklerde isimlerde harf hataları var.
Örneğin.
www.mp3lere.com - selda bagcan - don gel birtan.mp3 6246528 F:\?\
Kurtarma programı ile isimleri kurtadığım için sonlarında bir şeyler var.
Ya da böyle.
Öykü&_berk-_seni_ben_unutmak_istemedim_ki396174.mp3 4067044 F:\?\
Bunlar sorun çıkarır mı? Silmeyi denedim ama fazla olunca pes ettim.
Yani hangi YouTube hesabında olmasını istiyorsan öyle yapacaksın. Bu arada çözüm olarak işaretlersen sevinirim.
VS Code:Rahatsız ettim de bilgisayara hangi programları indireceğim pek bildiğim şeyler değil de.
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.
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.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?
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.
HalllettimKodları 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.
Bu sitenin çalışmasını sağlamak için gerekli çerezleri ve deneyiminizi iyileştirmek için isteğe bağlı çerezleri kullanıyoruz.