Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
#! /usr/bin/python
#encoding: utf-8
__author__ = "Dj_System"
__date__ = "$12/02/2017 12:13:05 AM$"
__url__ = "http://www.pythondiario.com/2015/05/descarga-videos-de-la-web-con-python-de.html"
from datetime import date, datetime, timedelta
import urllib2
from bs4 import BeautifulSoup
import requests
from utilities import *
def extraer_html(url):
try:
html = urllib2.urlopen(url).read()
soup = BeautifulSoup(html, "html.parser")
return soup
except:
r = requests.get(url)
html = r.text
soup = BeautifulSoup(html, "html.parser")
return soup
def download(episode):
try:
info = extraer_html("http://www.chia-anime.tv/one-piece-episode-" + episode + "-english-subbed/")
iframes = []
for iframe in info("iframe"):
iframes.append(iframe)
url = 'http://canimecdn.com/embedvideo.php?id=' + iframes[1].extract()["src"][59:64]
info = extraer_html(url)
scripts = []
for script in info("script"):
scripts.append(script)
script_with_video = str(scripts[len(scripts)-1])
l = len(script_with_video)
video = script_with_video[l-135:l-44]
descargar(video)
cambiar_nombre(video[70:], "op" + episode + ".mp4")
except:
print u"El vídeo no ha sido subido todavía. Intente nuevamente."
def main():
clrscr()
episodio = raw_input("Ingrese el episodio de One Piece a descargar: ")
try:
info = extraer_html("https://en.wikipedia.org/wiki/List_of_One_Piece_episodes_%28season_18%29")
th = info.findAll("th", {"id": "ep" + episodio})
td = []
for tr in info("tr"):
tag = tr.findAll("th")
if tag == th:
td = tr.findChildren("td")
fecha = str(td[1])[4:-5]
print u"El título del episodio es:", str(td[0])[47:str(td[0])[47:].index('"')+47]
today = date.today() + timedelta(days=1)
hoy = today.strftime("%B %d, %Y")
if today.day < 10:
hoy = hoy[:hoy.index(',') - 2] + hoy[hoy.index(',') - 1:]
if fecha == hoy:
if int(str(datetime.today().time())[:2]) >= 21:
download(episodio)
else:
print u"Intente después de las 9:00 p.m."
else:
print u"El episodio se estrenó(ará) en la fecha: " + fecha
download(episodio)
except:
print u"Aún no se establece fecha para ese episodio"
eliminar("*.pyc")
if __name__ == '__main__':
main()
beautifulsoup4
requests
import os
def cambiar_nombre(archivo1, archivo2):
mover = ""
if os.name == "posix":
mover = "mv"
elif os.name == "nt":
mover = "move"
os.system(mover + " " + archivo1 + " " + archivo2)
def clrscr():
if os.name == "posix":
os.system("clear")
elif os.name == "nt":
os.system("cls")
def descargar(archivo):
os.system('PyAxel ' + archivo)
def eliminar(archivo):
if os.name == "posix":
os.system("rm " + archivo)
elif os.name == "nt":
os.system("del " + archivo)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment