Kanaldaki tüm videoların linklerini alan bot

NaMLu

Kayıtlı Üye
Katılım
23 Şubat 2014
Mesajlar
292
Tepkime puanı
0
Puan
0
Yaş
33
Konum
Trabzon
Bu uygulamayı yapma amacım Ytpro botunun kanaldaki tüm videoları görmemesi ve benim Python dilini bilgilerim arasına katmak istememdir. Yazılım videoların kimliğini bir listboxa ekliyor ve linkleri bir txt dosyasına yazıyor. Burdan kopyalayıp rahatlıkla ytpro botuna ekleyip indirtip yükletebilirsiniz.

Python sürümü: 2.7.x

Kullanımı çok kolay kanal kimliğini Entry bileşenine giriyorsunuz çek diyorsunuz o bütün linkleri alıp txt dosyasına ekliyor.

Örneğin BBC News - YouTube bu kanaldaki kimlikten kastım bbcnews

Kod:
# -*- coding:utf-8 -*-
#!/usr/bin/env python

from Tkinter import *
import re,urllib2
				
pencere = Tk()
pencere.title("YouTube Kanal Video Listesi")
pencere.geometry("200x200+15+100")
pencere.resizable(width=FALSE, height=FALSE)

kanalKimlikYazi = Label(pencere,text="Kanal kimliği:")
kanalKimlikYazi.grid(row=0)

kanalKimlik = Entry(pencere)
kanalKimlik.grid(row=0,column=1)

def videolariAl():
	dosya = open('videolar.txt','w')

	id = kanalKimlik.get()
	
	sayfa = 1
	toplam = 0
	
	while(True):
		yazi = "http://gdata.youtube.com/feeds/users/" + id + "/uploads?max-results=50&start-index=" + str(sayfa);
		req = urllib2.Request(yazi)
		req.add_unredirected_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36')
		baglan = urllib2.urlopen(req)
		oku = baglan.read()
		
		sayi = 0
		
		for i in re.finditer(b'watch\?v=(.*)&',oku):
			if "&" not in i.group(1):
				if i.group(1) not in list(liste.get(0,END)):
					liste.insert(END,i.group(1))
					dosya.write("http://www.youtube.com/watch?v=" + i.group(1) + "\n")
					sayi = sayi + 1
					toplam = toplam + 1			
		
		print str(toplam) + " \n"
		
		if sayi != 50:
			break
		else:
			sayfa = sayfa + 50
	
	dosya.close()
		
kanalVideolariCek = Button(text="Çek", command=videolariAl)
kanalVideolariCek.grid(row=1, column=0,columnspan=2,sticky=W+E+N+S)

liste = Listbox()
liste.grid(row=2,column=0,columnspan=2,sticky=W+E+N+S)


mainloop()
 

Ekli dosyalar

  • bot.zip
    bot.zip
    1.005 bayt · Görüntüleme: 25
  • Adsız.jpg
    Adsız.jpg
    9,9 KB · Görüntüleme: 27
Bu uygulamayı yapma amacım Ytpro botunun kanaldaki tüm videoları görmemesi ve benim Python dilini bilgilerim arasına katmak istememdir. Yazılım videoların kimliğini bir listboxa ekliyor ve linkleri bir txt dosyasına yazıyor. Burdan kopyalayıp rahatlıkla ytpro botuna ekleyip indirtip yükletebilirsiniz.

Python sürümü: 2.7.x

Kullanımı çok kolay kanal kimliğini Entry bileşenine giriyorsunuz çek diyorsunuz o bütün linkleri alıp txt dosyasına ekliyor.

Örneğin BBC News - YouTube bu kanaldaki kimlikten kastım bbcnews

Kod:
# -*- coding:utf-8 -*-
#!/usr/bin/env python

from Tkinter import *
import re,urllib2
				
pencere = Tk()
pencere.title("YouTube Kanal Video Listesi")
pencere.geometry("200x200+15+100")
pencere.resizable(width=FALSE, height=FALSE)

kanalKimlikYazi = Label(pencere,text="Kanal kimliği:")
kanalKimlikYazi.grid(row=0)

kanalKimlik = Entry(pencere)
kanalKimlik.grid(row=0,column=1)

def videolariAl():
	dosya = open('videolar.txt','w')

	id = kanalKimlik.get()
	
	sayfa = 1
	toplam = 0
	
	while(True):
		yazi = "http://gdata.youtube.com/feeds/users/" + id + "/uploads?max-results=50&start-index=" + str(sayfa);
		req = urllib2.Request(yazi)
		req.add_unredirected_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2049.0 Safari/537.36')
		baglan = urllib2.urlopen(req)
		oku = baglan.read()
		
		sayi = 0
		
		for i in re.finditer(b'watch\?v=(.*)&',oku):
			if "&" not in i.group(1):
				if i.group(1) not in list(liste.get(0,END)):
					liste.insert(END,i.group(1))
					dosya.write("http://www.youtube.com/watch?v=" + i.group(1) + "\n")
					sayi = sayi + 1
					toplam = toplam + 1			
		
		print str(toplam) + " \n"
		
		if sayi != 50:
			break
		else:
			sayfa = sayfa + 50
	
	dosya.close()
		
kanalVideolariCek = Button(text="Çek", command=videolariAl)
kanalVideolariCek.grid(row=1, column=0,columnspan=2,sticky=W+E+N+S)

liste = Listbox()
liste.grid(row=2,column=0,columnspan=2,sticky=W+E+N+S)


mainloop()

Kusura bakma hocam benim bu kodlardan hiç anlamıyorum da bunu nereye ekliyoruz?
 
Kişiselleştirme

Tema editörü

Ayarlar Renkler

  • Mobil kullanıcılar bu fonksiyonları kullanamaz.

    Alternatif header

    Farklı bir görünüm için alternatif header yapısını kolayca seçebilirsiniz.

    Görünüm Modu Seçimi

    Tam ekran ve dar ekran modları arasında geçiş yapın.

    Izgara Görünümü

    Izgara modu ile içerikleri kolayca inceleyin ve düzenli bir görünüm elde edin.

    Resimli Izgara Modu

    Arka plan görselleriyle içeriğinizi düzenli ve görsel olarak zengin bir şekilde görüntüleyin.

    Yan Paneli Kapat

    Yan paneli gizleyerek daha geniş bir çalışma alanı oluşturun.

    Sabit Yan Panel

    Yan paneli sabitleyerek sürekli erişim sağlayın ve içeriğinizi kolayca yönetin.

    Box görünüm

    Temanızın yanlarına box tarzı bir çerçeve ekleyebilir veya mevcut çerçeveyi kaldırabilirsiniz. 1300px üstü çözünürler için geçerlidir.

    Köşe Yuvarlama Kontrolü

    Köşe yuvarlama efektini açıp kapatarak görünümü dilediğiniz gibi özelleştirin.

  • Renginizi seçin

    Tarzınızı yansıtan rengi belirleyin ve estetik uyumu sağlayın.

Geri