İPUCU

Script Dilleri Scriptlerin oluşturulduğu dillerin dökümanlarının ortaklaşa paylaşıldığı alandır.

Seçenekler

Anime İzleme Programı Python[Turkanime]

05-10-2016 23:33
#1
NightBreather - ait Kullanıcı Resmi (Avatar)
Tamamen Forumdan Uzaklaştırıldı
Üyelik tarihi:
08/2016
Mesajlar:
592
Teşekkür (Etti):
9
Teşekkür (Aldı):
52
Konular:
15
Ticaret:
(0) %
Turkanime üzerinden herhangi bir animeyi pcden izleyebilirsiniz. Win10 da test edildi. Şuan sadece VK kaynağını desktekliyor kendim için yaptım kullanmak ve geliştimek isteyen arkadaşlar için paylaşıyorum kodları pekde istediğim kadar düzenli olmadı açıkcası ama olduğu kadar artık

Komut satırında bir sıkıntısı yok isteyen guide yazsın

Kod:
# -*- coding: cp1254 -*-
from bs4 import BeautifulSoup
import urllib.request
import re
import os
os.system("color a")
os.system("chcp 65001")
os.system("cls")
deger="http://www.turkanime.tv/"

def VeriCek(url):
    site=urllib.request.urlopen(url)
    content=site.read()
    soup=BeautifulSoup(content,'html.parser')
    return soup

def AnimeİsmiCek(soup):
    Animeler=[]
    for link in soup.find_all('a'):
        if str(link.get('class')).find("btn")>0:
            Animeler.append(str(link.get('title')))
    return Animeler


#Animenin Bölümlerinin Hepsinin olduğu sayfanın linkini çeker
def AnimeCek(soup):
    Animeler={}
    for link in soup.find_all('a'):
        if str(link.get('class')).find("btn")>0:
            Animeler[str(link.get('title'))]=str(link.get('href'))
    return Animeler

def AnimeİsimCek(soup):
    Animeler=[]
    for link in soup.find_all('a'):
        if str(link.get('class')).find("btn")>0:
            Animeler.append(str(link.get('title')))
            
    return Animeler

#Mevcut Sayfada diğer Fansubların olup olmadğına bakar
def AlternatifVarmı(soup):
    Alternatifler={}
    deger=0
    for i in Soup.find_all('p'):
        if i.text=="Bu bölüm birden fazla grup veya çevirmen tarafından hazırlanmıştır.":
            deger=deger+1
    if deger>0:
        
        for link in Soup.find_all('a',attrs={'class':'btn btn-info'}):
            Link=re.findall("video/.*',",link.get('onclick'))[0][:-2]
            Alternatifler[str(link.text[1:])]=Link
        return Alternatifler
    
    else:
        return False
    
#Bölümlerin Linklerini Çeker
    
def BölümCek(Soup):
    Bölümler=[]
    for i in Soup.find_all('a',attrs={'name':'bolumler'}):
        adres=i.get("href")
    Soup=VeriCek(deger+adres)
    for link in Soup.find_all('a',attrs={'class':'btn'}):
        if str(link.get('title')).find("None")<0:
            Bölümler.append({str(link.get('title')):link.get('href')})
    return Bölümler

#Yukarıdan Aşağı Bölümleri Sıralamak için Kulllanılır.
def BölümListele(Bölümler):
    sayı=len(Bölümler)
    say=0
    while sayı!=say:
        for i in Bölümler[say].keys():
            print(i)
            say=say+1
    
        
def VideoKaynaklarınıCek(Soup):
    kaynaklar={}
    for link in Soup.find_all('a',attrs={'href':'javascript:****(0);','class':'btn','style':'margin-right:5px; margin-bottom:5px; float:left;'}):
        Link=re.findall("video/.*',",link.get('onclick'))[0][:-2]
        kaynaklar[str(link.text[1:])]=str(Link)
    return kaynaklar

def VKDök(VK):
    Cözünürlükler={}
    
    soup=VeriCek(VK)
    
    for link in soup.find_all('iframe',attrs={'allowfullscreen':''}):
        if (link.get('src')).find('vk')>0:
            url=link.get('src')
            
    soup=VeriCek(url)
    
    for link in soup.find_all('iframe',attrs={'allowfullscreen':''}):
        if (link.get('src')).find('vk')>0:
            url=link.get('src')
            
    url=re.findall('http://vk.com.*',url)
    
    Content=VeriCek(url[0])
    
    for i in Content.find_all("source",attrs={'type':'video/mp4'}):
        if i==[]:
            return print("Link Ölmüş başka bir kaynak deneyin.")
        else:
            cöz=re.findall(".[7432][2864]0.",str(i))
            Cözünürlükler[str(cöz[-1][1:-1])]=i.get("src")
        
    return Cözünürlükler

print("""
ANİME Link Catcher Versin 1.0 BETA
Author:Kerem Saygın
Website:www.keremsaygin.tk
""")





#########################################################

Animeler=AnimeİsmiCek(VeriCek(deger+"/icerik/tamliste"))

cevap=input("Anime listesine bakmak istermisiniz(E/H):")

if cevap=="E" or cevap=="e":
    for i in Animeler:
        print(i)
else:
    print("Listelenmedi.")  

#########################################################
    
Animeler=AnimeCek(VeriCek(deger+"/icerik/tamliste"))

Animeİsmi=input("istediğiniz animenin Tam ismini Yazın:")

if Animeİsmi in Animeler:
    print(Animeİsmi," isimli anime veritabanında bulunmaktadır.")
    Soup=VeriCek(deger+Animeler[Animeİsmi])
    print("Anime Hakkındaki bilgilere erişiliyor.")
    Bölümler=BölümCek(Soup)
    BölümListele(Bölümler)
    print("************************************/")
    BölümNo=int(input('İzlemek istediğiniz bölüm Nosu:'))
    if BölümNo>len(Bölümler):
        print("İstediğiniz Bölüm Bulunmamakta.")
    else:
        for BölümAdres in Bölümler[BölümNo-1].values():
            Soup=VeriCek(deger+BölümAdres)
        if AlternatifVarmı(Soup):
            Fansublar=AlternatifVarmı(Soup)
            print("İzlemek istediğiniz Seriye ait fansublar aşağıda sıralanmıştır.")
            for i in Fansublar:
                print(i)
            print("************************************/")
            Secim=input("istediğiniz Fansubu yazın:")
            if Secim in Fansublar:
                Soup=VeriCek(deger+Fansublar[Secim])
                kaynaklar=VideoKaynaklarınıCek(Soup)
                print("Video Sağlayacıları Çekiliyor.")
                for i in kaynaklar:
                    print(i)
                print("Lütfen yukarıdaki Kaynaklardan birini seçin.")
                Secim=input("İstediğiniz Video kaynağının tam ismini yazınız:")
                if Secim in kaynaklar:
                    if Secim=="VK":
                        print("Vk Kaynağı tespit edildi.")
                        dönen=VKDök(deger+kaynaklar[Secim])
                        for i in dönen:
                            print(i)
                        cöz=input("İstediğiniz Çözünürlük değerini yazınız:")
                        if cöz in dönen:
                            os.system("start wmplayer "+dönen[cöz])
                        else:
                            print("Seçtiğiniz çözünürlük tespit edilemedi.")
                    else:
                        print("Seçtiğiniz kaynak Henüz Yapılandırılmadı.")
                        
                else:
                    
                    print("Yazdığınız Kaynak Bulunamadı.")
                
            else:
                print("Belirtilen Fansub Bulunamadı.")
            
        else:
            
            Soup=VeriCek(deger+BölümAdres)
            kaynaklar=VideoKaynaklarınıCek(Soup)
            print("Video Sağlayacıları Çekiliyor.")
            for i in kaynaklar:
                print(i)
            print("Lütfen yukarıdaki Kaynaklardan birini seçin.")
            Secim=input("İstediğiniz Video kaynağının tam ismini yazınız:")
            if Secim in kaynaklar:
                if Secim=="VK":
                    print("Vk Kaynağı tespit edildi.")
                    dönen=VKDök(deger+kaynaklar[Secim])
                    for i in dönen:
                        print(i)
                    cöz=input("İstediğiniz Çözünürlük değerini yazınız:")
                    if cöz in dönen:
                        os.system("start wmplayer "+dönen[cöz])
                    else:
                        print("Seçtiğiniz çözünürlük tespit edilemedi.")
                else:
                    print("Seçtiğiniz kaynak Henüz Yapılandırılmadı.")
                        
            
            #Burası Farklı fansubu olmayanların açılacağı yer
            print("Alternatif Yok.Mevcut Kaynaklar Getiriliyor.")
            
            
            
        
        
        
    
#########################################################
Konu NightBreather tarafından (06-10-2016 16:01 Saat 16:01 ) değiştirilmiştir.

05-10-2016 23:52
#2
Jaganvir - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
12/2015
Nereden:
stalker
Mesajlar:
292
Teşekkür (Etti):
37
Teşekkür (Aldı):
34
Konular:
27
Ticaret:
(0) %
hocam, linux uyumlu mu ?
05-10-2016 23:59
#3
NightBreather - ait Kullanıcı Resmi (Avatar)
Tamamen Forumdan Uzaklaştırıldı
Üyelik tarihi:
08/2016
Mesajlar:
592
Teşekkür (Etti):
9
Teşekkür (Aldı):
52
Konular:
15
Ticaret:
(0) %
Alıntı:
Jaganvir´isimli üyeden Alıntı Mesajı göster
hocam, linux uyumlu mu ?
Birkac editle calisir.tam bitmedi zaten daha eklemem gereken cok sey var ama suanki halk isimi gorur belki linux uyumlusunuda yazarim
06-10-2016 00:04
#4
alixium - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
06/2015
Mesajlar:
134
Teşekkür (Etti):
11
Teşekkür (Aldı):
11
Konular:
18
Ticaret:
(0) %
Hocam bu kodu nasıl kullanıcaz acaba bilgisizliğimi mazur gör
06-10-2016 00:05
#5
Jaganvir - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
12/2015
Nereden:
stalker
Mesajlar:
292
Teşekkür (Etti):
37
Teşekkür (Aldı):
34
Konular:
27
Ticaret:
(0) %
Alıntı:
NightBreather´isimli üyeden Alıntı Mesajı göster
Birkac editle calisir.tam bitmedi zaten daha eklemem gereken cok sey var ama suanki halk isimi gorur belki linux uyumlusunuda yazarim
peki hocam sevdiğimiz animeleri bir de senin programından izleriz
06-10-2016 00:06
#6
NightBreather - ait Kullanıcı Resmi (Avatar)
Tamamen Forumdan Uzaklaştırıldı
Üyelik tarihi:
08/2016
Mesajlar:
592
Teşekkür (Etti):
9
Teşekkür (Aldı):
52
Konular:
15
Ticaret:
(0) %
Alıntı:
alixium´isimli üyeden Alıntı Mesajı göster
Hocam bu kodu nasıl kullanıcaz acaba bilgisizliğimi mazur gör
Normal python idle izerinden veya bir .py dosyasi seklinde kayit edip lomut satirinda çalıştırabilirsiniz gui ile ugrasamadim acikcasi
06-10-2016 00:07
#7
NightBreather - ait Kullanıcı Resmi (Avatar)
Tamamen Forumdan Uzaklaştırıldı
Üyelik tarihi:
08/2016
Mesajlar:
592
Teşekkür (Etti):
9
Teşekkür (Aldı):
52
Konular:
15
Ticaret:
(0) %
Alıntı:
Jaganvir´isimli üyeden Alıntı Mesajı göster
peki hocam sevdiğimiz animeleri bir de senin programından izleriz
Bu program sadece linki cekip windowa mwsia player uzerinden aciyo tek yaptigi sey bu aslinda
06-10-2016 15:17
#8
NightBreather - ait Kullanıcı Resmi (Avatar)
Tamamen Forumdan Uzaklaştırıldı
Üyelik tarihi:
08/2016
Mesajlar:
592
Teşekkür (Etti):
9
Teşekkür (Aldı):
52
Konular:
15
Ticaret:
(0) %
Güncel Beyler kodlarda *** olan yerler vo id olacak sabahtan beri ne hata var diye bakıyom deli etti.
Konu NightBreather tarafından (06-10-2016 16:02 Saat 16:02 ) değiştirilmiştir.
06-10-2016 22:40
#9
NightBreather - ait Kullanıcı Resmi (Avatar)
Tamamen Forumdan Uzaklaştırıldı
Üyelik tarihi:
08/2016
Mesajlar:
592
Teşekkür (Etti):
9
Teşekkür (Aldı):
52
Konular:
15
Ticaret:
(0) %
Güncellendi
07-10-2016 16:55
#10
M78 - ait Kullanıcı Resmi (Avatar)
M78
E-Mail onayı yapılmamış üye
Üyelik tarihi:
09/2015
Mesajlar:
63
Teşekkür (Etti):
6
Teşekkür (Aldı):
8
Konular:
0
Ticaret:
(0) %
Pastebin'e yapıştırırsan sansürü aşmış olursun.
--
Koda gelirsek, beautifulsoup kullanımı gerekli miydi tartışılır, evet kodda sana çok yardımı dokunur fakat üstteki arkadaş gibi direkt cp&run olmaz..

Artı olarak, tebrik ederim. Yazdığın kod için değil, hep playerlar ile uğraşmaya korkmuşumdur, onun için.
Başarılar, kawaii.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı