ToutvDL 0.6 : Télécharger les vidéos de tou.tv

Logiciels (gratuits) liés au Replay, au multimédia, ...

Re: ToutvDL 0.5 : Télécharger les vidéos de tou.tv

Messagede lagomix » Sam 10 Nov 2012 16:40

Merci aazerty pour le retour. Impossible d'ouvrir avec le bloc-note, mais pas de problème avec Notepad...nickel !!
Cependant, malgré de nombreux changement, aucun proxy ne fonctionne. Désolé.
Merci encore.
lagomix
 
Messages: 23
Inscription: Sam 2 Juil 2011 14:54

Re: ToutvDL 0.5 : Télécharger les vidéos de tou.tv

Messagede k3c » Dim 11 Nov 2012 11:51

Pour éviter de triturer constamment le .py, voici une nouvelle version du script
Modifs
on peut passer en deuxième paramètre un proxy, sous la forme 1.2.3.4:80 (de plus en plus de proxys sont HS)
l'extension du fichier devient .flv, comme une personne l'avait indiqué de manière pertinente sur neo-net

Code: Tout sélectionner
# -*- coding:utf-8 -*-
# TOU.TV version 0.6 par k3c
# passage de proxy en 2 ème parametre
import subprocess, optparse, re, sys, os, shlex
import socket, random
from urllib2 import ProxyHandler, Request, urlopen, URLError, HTTPError
import bs4 as BeautifulSoup
from lxml import objectify
from lxml import etree
import urllib2
timeout = 900
listeUserAgents = [ 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_5; fr-fr) AppleWebKit/525.18 (KHTML, like Gecko) Version/3.1.2 Safari/525.20.1',
                                                'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.186 Safari/535.1',
                                                'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13',
                                                'Mozilla/5.0 (X11; U; Linux x86_64; en-us) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) midori',
                                                'Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.107 Safari/535.1',
                                                'Mozilla/5.0 (Macintosh; U; PPC Mac OS X; en-us) AppleWebKit/312.1 (KHTML, like Gecko) Safari/312',
                                                'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.12 Safari/535.11',
                                                'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.8 (KHTML, like Gecko) Chrome/17.0.940.0 Safari/535.8' ]
def get_proxy():
    opener = urllib2.build_opener()
    opener.addheaders = [('User-agent', random.choice(listeUserAgents))]
    data = opener.open('http://www.xroxy.com/proxy-country-CA.htm').read()
    opener.close()
    s = BeautifulSoup.BeautifulSoup(data)
    hrefs = s.find_all(attrs={'href' : re.compile("host=\d")})
    href = random.choice(hrefs)
    mastr =  href.attrs['href']
    m = re.search('host=(([0-9\.])+)?.*port=(([0-9\.])+)?',str(mastr))
    port = m.group(3)
    host = m.group(1)
    return host, port

def main():
    # timeout en secondes
    socket.setdefaulttimeout(timeout)
    usage   = "usage: python toutv   [options] <url de l'emission>"
    parser  = optparse.OptionParser( usage = usage )
    parser.add_option( "--nocolor",         action = 'store_true', default = False, help = 'desactive la couleur dans le terminal' )
    parser.add_option( "-v", "--verbose",   action = "store_true", default = False, help = 'affiche les informations de debugage' )
    ( options, args ) = parser.parse_args()
    if( len( args ) == 0 or args[ 0 ] == "" ):
        parser.print_help()
        parser.exit( 1 )
    the_url = sys.argv[1]
    html = urlopen(sys.argv[1]).read()
    nom = sys.argv[1][18:].replace('/', '_')
    soup = BeautifulSoup.BeautifulSoup(html)
    elems = [elem for elem in soup.find('div',{'class':'emissionEpisode_containerPlayer'})]
    mastr = elems[1].attrs['src']
    m = re.search('"idMedia":"([A-Za-z0-9_]*)',mastr)
    if m:
       id = m.group(1)
    head = random.choice( listeUserAgents )
    platform = 'http://release.theplatform.com/content.select?pid='
    response = urllib2.urlopen(urllib2.Request(platform+id))
    newfile = response.read()
    if len(sys.argv) > 2:
   host, port = sys.argv[2].split(":")[0], sys.argv[2].split(":")[1]
    else:
   host, port = "69.46.99.186", "80"
    if "You are not in a geographic region that has access to this content." in newfile:
        while (True):
            try:
                print 'proxy utilisé %s:%s' % (host, port)
                proxy_support = urllib2.ProxyHandler({'http': 'http://%s:%s/' % (host, port)})
                opener = urllib2.build_opener(proxy_support)
                urllib2.install_opener(opener)
                response = urllib2.urlopen(urllib2.Request(platform+id))
                newfile = response.read()
                response.close()
                break
            except KeyboardInterrupt:
                sys.exit()
            except:
                host, port = get_proxy()
    root = objectify.fromstring(newfile)
    rtmp = None
    for x in root.findall('choice'):
        if x.url.text.startswith('rtmp'):
            rtmp = x.url.text
            break
    if rtmp is None:
        print "aucun proxy valide"
        sys.exit(1)
    info_video = rtmp
    host = info_video.split('rtmp://')[1].split('/')[0]
    start = rtmp.index('ondemand')
    end = rtmp.index('<break>')
    app = rtmp[start:end]
    st = rtmp.index('<break>')+len('<break>')
    en = len(rtmp)
    playpath = rtmp[st:en]
    cmds = "rtmpdump"+" --host "+host+" --app \""+app+"\" --playpath \""+playpath+"\" -e -k 1 --flv "+str(nom)+".flv"
    arguments = shlex.split( cmds )
    process = subprocess.Popen( arguments, stdout = subprocess.PIPE).communicate()[0]
if __name__ == "__main__":
    main()
k3c
 
Messages: 396
Inscription: Jeu 18 Aoû 2011 18:31

Re: ToutvDL 0.5 : Télécharger les vidéos de tou.tv

Messagede aazerty » Dim 11 Nov 2012 12:14

Bonjour ,

@k3c : Merci pour cette nouvelle mouture , qui résoudra certains pb de connexions .

Cordialement .
!!! DUBITATIF !!!
Avatar de l’utilisateur
aazerty
 
Messages: 2086
Inscription: Sam 10 Déc 2011 14:41

Re: ToutvDL 0.5 : Télécharger les vidéos de tou.tv

Messagede lagomix » Dim 11 Nov 2012 13:10

J'ai remplacé le proxy toutv.py 69.46.99.186:80 par 209.97.203.64:3128 et tout remarche.
Cordialement à tous et particulièrement à @k3c & aazerty
lagomix
 
Messages: 23
Inscription: Sam 2 Juil 2011 14:54

Re: ToutvDL 0.6 : Télécharger les vidéos de tou.tv

Messagede czmaster » Dim 11 Nov 2012 15:38

Pour info j'ai mis à jour l'interface Windows pour utiliser le nouveau script de K3C : ToutvDL 0.6
Maintenant vous pourrez indiquer le proxy à utiliser (et d'autres petites modifs).

Télécharger

Image

A+
Administrateur du forum
czmaster
Administrateur du site
 
Messages: 1425
Inscription: Sam 2 Juil 2011 10:41
Localisation: France

Re: ToutvDL 0.6 : Télécharger les vidéos de tou.tv

Messagede lagomix » Dim 11 Nov 2012 17:52

de mieux en mieux ce tou.tv
Merci czmaster
lagomix
 
Messages: 23
Inscription: Sam 2 Juil 2011 14:54

Re: ToutvDL 0.6 : Télécharger les vidéos de tou.tv

Messagede coolboygf » Dim 9 Déc 2012 10:31

Bonjour,
j'ai télécharger le programme il y a deux jours, tout fonctionnait bien,
mais aujourd'hui plus rien !!
J'ai un message d'erreur: ''You have'nt specified a Protocol ......stream
does not start with requested frame, ignoring data
Avant de recevoir ce message l'émission s'était téléchargée à 32% et le
message était si je me souviens bien ''skip 2''
J'ai tenté de désinstaller et de réinstaller, mais je n'ai jamais trouvé
comment le faire.
Je dois être trop nulle :)

Merci de me répondre.
(Je suis sur win 8)
Dernière édition par czmaster le Dim 9 Déc 2012 10:32, édité 1 fois.
Raison: Message reçu par mail
coolboygf
 
Messages: 1
Inscription: Dim 9 Déc 2012 07:28

Re: ToutvDL 0.6 : Télécharger les vidéos de tou.tv

Messagede czmaster » Dim 9 Déc 2012 10:45

Salut,

Il se peut que le problème dont tu parles ne soit que temporaire et soit simplement dû au serveur tou.tv qui est un peu surchargé.
Je viens de lancer un téléchargement d'une émission au hasard et ça semble marcher ...

coolboygf a écrit:J'ai tenté de désinstaller et de réinstaller, mais je n'ai jamais trouvé
comment le faire.
Je dois être trop nulle :)

En fait il n'y a rien à installer ou à désinstaller c'est une application portable. Pour l'installer il faut copier les fichiers et pour la désinstaller supprimer ces mêmes fichiers (mais ça ne changera rien au problème ;) )

Pour l'instant je te conseil de retenter ta chance
Si ça continue tient nous au courant

A+
Administrateur du forum
czmaster
Administrateur du site
 
Messages: 1425
Inscription: Sam 2 Juil 2011 10:41
Localisation: France

Re: ToutvDL 0.6 : Télécharger les vidéos de tou.tv

Messagede k3c » Dim 9 Déc 2012 10:54

Il y a un problème sur certaines vidéos, comme

le rôle de sa vie

ou celui cité plus haut

Quand je récupère les infos commençant par
rtmp://
il y a plein de manières de découper cela pour construire la commande rtmpdump qui va bien.
Ma méthode ne fonctionne pas dans tous les cas.
k3c
 
Messages: 396
Inscription: Jeu 18 Aoû 2011 18:31

Re: ToutvDL 0.6 : Télécharger les vidéos de tou.tv

Messagede k3c » Lun 10 Déc 2012 07:50

Je devrais sortir une version corrigée demain soir au plus tard.
k3c
 
Messages: 396
Inscription: Jeu 18 Aoû 2011 18:31

PrécédenteSuivante

Retourner vers Autres logiciels

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 17 invités

cron