- 21 Ağu 2016
- 591
- 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 uahuah
Komut satırında bir sıkıntısı yok isteyen guide yazsın
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.")
#########################################################
Son düzenleme: