econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 2008
-
14 mai 2007 à 15:44
Saros
Messages postés921Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention23 septembre 2010
-
11 août 2008 à 01:31
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Saros
Messages postés921Date d'inscriptionvendredi 20 décembre 2002StatutMembreDernière intervention23 septembre 2010 11 août 2008 à 01:31
VLC lit très bien les flv, pas besoin de changer d'extension.
Et je confirme pour la ligne 28, on peut récupérer les infos via le lien fullscreen
ehadrien
Messages postés1Date d'inscriptionmercredi 1 novembre 2000StatutMembreDernière intervention10 mars 2008 10 mars 2008 à 12:04
Bonjour,
Tout d'abord, un petit pb de forme. Python n'aime pas le "à" ligne 48
Ligne 28, il faut remplacer 'var fo ' par "var fullscreenUrl "
Enfin, pour les utilisateurs de Linux, pour lequel il n'y a pas, à ma connaissance, de lecteur fvl, on peut remplacer fvl ligne 54 par swf, et utiliser vlc pour lire le fichier
Et j'apprécie beaucoup ce script, très utile. Merci.
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 10 févr. 2008 à 21:48
oui je n'ai pas encore eut le courage de faire la maj
ca marchais sur youtube
dailymotion je n'ai jamais fais la portabilite
skone007
Messages postés166Date d'inscriptionmercredi 24 avril 2002StatutMembreDernière intervention23 juin 2009 10 févr. 2008 à 21:10
Il y a eu une MAJ sur DailyMotion et ca ne marche plus :(
V4mp
Messages postés21Date d'inscriptionsamedi 22 septembre 2007StatutMembreDernière intervention30 septembre 2007 26 sept. 2007 à 11:39
ok ok j'attend avec impatience mais ton code est bien et l'utilisté aussi !
je noterais aprés :)!
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 26 sept. 2007 à 10:43
avec le nouvelle version de youtube mon programme ne marche pas
j'ai pas encore eut le temps de le mettre a jour
je pense que d'ici dimanche ca sera fait
V4mp
Messages postés21Date d'inscriptionsamedi 22 septembre 2007StatutMembreDernière intervention30 septembre 2007 25 sept. 2007 à 21:36
Le programme bug chez moi... .
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 7 sept. 2007 à 01:15
sympa merci bcp je my penche des que je peux ^^
aera group
Messages postés382Date d'inscriptionmercredi 23 août 2006StatutMembreDernière intervention 8 novembre 201018 5 sept. 2007 à 18:07
J'ai fait quelques recherche. J'ai déja trouvé deux modifications :
Dans les deux cas, la variable est suivi de deux points (":") et non un égale ("=")
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 5 sept. 2007 à 18:03
merci je m'en occupe des que j'ai le temps
je me doutais bien que ca arriverais lol
Zaltez
Messages postés48Date d'inscriptionmardi 23 novembre 2004StatutMembreDernière intervention20 décembre 20091 4 sept. 2007 à 17:19
Salut,
je pense que le code ne marche plus car la page html de youtube a été restructurée.
Et étant donné que le code parse du html sa ne marche plus.
A modifier juste la fonction def getVariable()
Début de modification a effectuer : a partir de la ligne 28
remplacer vs src.find('var fo ') par var vs = src.find('swfArgs = ')
Après il faut simplement récuperer la chaine en changeant les paramètres de découpe de la chaine.
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 2 sept. 2007 à 15:36
C:\TEST>C:\TEST\youtube.py http://www.youtube.com/watch?v=ms_9iuGxyQA sys:1: DeprecationWarning: Non-ASCII character '\xe0' in file C:\TEST\youtube.py
on line 48, but no encoding declared; see http://www.python.org/peps/pep-0263.h tml for details
telechargement de la video a l'adresse : http://www.youtube.com/watch?v=ms_9iuGx yQA
telechargement de : YouTube - kung fu
Traceback (most recent call last):
File "C:\TEST\youtube.py", line 80, in ?
getVariable()
File "C:\TEST\youtube.py", line 33, in getVariable
indsvid = var.index("video_id=");
ValueError: substring not found
C:\TEST>Pause
Appuyez sur une touche pour continuer...
une idée sheorogath?
(ligne 48 et 80 ?)
++ ;)
aera group
Messages postés382Date d'inscriptionmercredi 23 août 2006StatutMembreDernière intervention 8 novembre 201018 2 sept. 2007 à 12:22
J'ai oublier de te demander si tu utilisé Python 2.5 (moi je suis encore à Python 2.4).
Merci de tes réponses
aera group
Messages postés382Date d'inscriptionmercredi 23 août 2006StatutMembreDernière intervention 8 novembre 201018 2 sept. 2007 à 12:21
Bonjour :
il y a un bug ; Qaund j'excécute ton script à l'aide d'un fichier bat contenant
(Pause permet de garder la fenêtre DOS ouverte)
j'obtien cette erreur :
**************************
File "C:\Python24\main.py", line 33 in getVariable
indsvid = var.index("video_id=");
ValueError: substring not found
**************************
Il semblerait que "video_id=" ne soit pas la bonne variable. De plus, pourquoi à tu mis un point-virgule ";" à la fin de la ligne ?
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 15 août 2007 à 22:10
SyntaxError: invalid syntax (message que j'obtiens!!)
>>>
J'obtiens systematiquement le message "SyntaxError: invalid syntax"
Pouvez vous m'expliquer comment il faut s'y prendre pour lancer ce programme avec son argument
krusty24
Messages postés19Date d'inscriptionvendredi 15 septembre 2006StatutMembreDernière intervention15 novembre 2011 12 juin 2007 à 21:01
je ne sais plus, mais j ai essayé avec d'autre video et sa a marché sans probleme. Tu as fait du bon boulot continue comme sa
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 12 juin 2007 à 18:48
krusty quel est l'url de la video que tu as essaye de telecharger ?
Zaltez
Messages postés48Date d'inscriptionmardi 23 novembre 2004StatutMembreDernière intervention20 décembre 20091 28 mai 2007 à 22:16
krusty24
Messages postés19Date d'inscriptionvendredi 15 septembre 2006StatutMembreDernière intervention15 novembre 2011 21 mai 2007 à 11:14
J'ai testé ton programme avec une video choisie au hasard sur youtube. Le résultat est que je me retrouve avec un fichier portant le nom de la video ayant une taille de 0KB. Est-ce nomal? Si oui, que dois-je faire avec se fichier?
Je suis desoler de t'embarraser avec mais question mais il c'est parce que ton programme me semble trés intéressant.
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 20 mai 2007 à 18:02
tu remplace Main.py par le nom de fichier ou tu as mis mon script
aera group
Messages postés382Date d'inscriptionmercredi 23 août 2006StatutMembreDernière intervention 8 novembre 201018 20 mai 2007 à 16:59
Peux tu mêtre un exemple d'utilisation, je n'ai pas très bien compris comment fonctionne le script
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200824 16 mai 2007 à 13:47
Ce que je voulais dire, c'est que si quelqu'un met 6 arguments dans la ligne de commande (va savoir pourquoi !), tu ne l'avertis pas de l'erreur de format puisque, de toutes façons, tu ne downloaderas que argv[1].
Avec
if len(sys.argv) == 1:
tu ne traiteras QUE les commandes bien formatées. Ceux qui mettront 6 arguments devront se résoudre à n'en passer qu'un seul.
sheorogath
Messages postés2448Date d'inscriptionsamedi 21 février 2004StatutModérateurDernière intervention29 janvier 201017 15 mai 2007 à 20:37
merci pour ce commentaire
heu je comprend pas trop pour les arguments si je recupere le second agument sachant que sys.argv[0] represente le nom de fichier ... non ?
le header serviras a gerer l'avancement du telechargement
sinon encore merci pour ton commentaire !
econs
Messages postés4030Date d'inscriptionmardi 13 mai 2003StatutMembreDernière intervention23 décembre 200824 14 mai 2007 à 15:44
Difficile d'être plus clair. Code et commentaires sont limpides.
Puisque tu récupéres le header 'content-length', pourquoi n'en ferais-tu pas quelque chose ? Un p'tit print ?
Sur cette ligne, j'aurai plutôt testé l'égalité avec 1
if len(sys.argv) > 1:
car celui qui rentrerait 2 arguments verrait le code s'exécuter avec comme source le 1er argument. Si cet argument est une URL YouTube => OK, sinon, il va avoir des soucis et ne comprendra pas ce qui se passe.
11 août 2008 à 01:31
Et je confirme pour la ligne 28, on peut récupérer les infos via le lien fullscreen
10 mars 2008 à 12:04
Tout d'abord, un petit pb de forme. Python n'aime pas le "à" ligne 48
Ligne 28, il faut remplacer 'var fo ' par "var fullscreenUrl "
Enfin, pour les utilisateurs de Linux, pour lequel il n'y a pas, à ma connaissance, de lecteur fvl, on peut remplacer fvl ligne 54 par swf, et utiliser vlc pour lire le fichier
Et j'apprécie beaucoup ce script, très utile. Merci.
10 févr. 2008 à 21:48
ca marchais sur youtube
dailymotion je n'ai jamais fais la portabilite
10 févr. 2008 à 21:10
26 sept. 2007 à 11:39
je noterais aprés :)!
26 sept. 2007 à 10:43
j'ai pas encore eut le temps de le mettre a jour
je pense que d'ici dimanche ca sera fait
25 sept. 2007 à 21:36
7 sept. 2007 à 01:15
5 sept. 2007 à 18:07
"indsvid = var.index("video_id=");" ==> indsvid = var.index("video_id:");
"indst = var.index("t=");" ==> indst = var.index("t:");
Dans les deux cas, la variable est suivi de deux points (":") et non un égale ("=")
5 sept. 2007 à 18:03
je me doutais bien que ca arriverais lol
4 sept. 2007 à 17:19
je pense que le code ne marche plus car la page html de youtube a été restructurée.
Et étant donné que le code parse du html sa ne marche plus.
A modifier juste la fonction def getVariable()
Début de modification a effectuer : a partir de la ligne 28
remplacer vs src.find('var fo ') par var vs = src.find('swfArgs = ')
Après il faut simplement récuperer la chaine en changeant les paramètres de découpe de la chaine.
2 sept. 2007 à 15:36
arf çà m'aurait bien intéressé çà....
j'ai également une erreur :(
ton code placé dans "C:\TEST\youtube.py"
le batch dans le même rep contenant :
C:\TEST\youtube.py http://www.youtube.com/watch?v=ms_9iuGxyQA
Pause
la connexion se fait bien mais hop =>
C:\TEST>C:\TEST\youtube.py http://www.youtube.com/watch?v=ms_9iuGxyQA
sys:1: DeprecationWarning: Non-ASCII character '\xe0' in file C:\TEST\youtube.py
on line 48, but no encoding declared; see http://www.python.org/peps/pep-0263.h
tml for details
telechargement de la video a l'adresse : http://www.youtube.com/watch?v=ms_9iuGx
yQA
telechargement de : YouTube - kung fu
Traceback (most recent call last):
File "C:\TEST\youtube.py", line 80, in ?
getVariable()
File "C:\TEST\youtube.py", line 33, in getVariable
indsvid = var.index("video_id=");
ValueError: substring not found
C:\TEST>Pause
Appuyez sur une touche pour continuer...
une idée sheorogath?
(ligne 48 et 80 ?)
++ ;)
2 sept. 2007 à 12:22
Merci de tes réponses
2 sept. 2007 à 12:21
il y a un bug ; Qaund j'excécute ton script à l'aide d'un fichier bat contenant
**************************
"C:\Python24\Python.exe" "C:\Python24\main.py" "http://www.youtube.com/watch?v=ms_9iuGxyQA"
Pause
**************************
(Pause permet de garder la fenêtre DOS ouverte)
j'obtien cette erreur :
**************************
File "C:\Python24\main.py", line 33 in getVariable
indsvid = var.index("video_id=");
ValueError: substring not found
**************************
Il semblerait que "video_id=" ne soit pas la bonne variable. De plus, pourquoi à tu mis un point-virgule ";" à la fin de la ligne ?
15 août 2007 à 22:10
tu fais un bat avec ca dedans :
cmd
ensuite tu place le bat dans a cote de main.py
ensuite tu le demarre
dans la fenetre noire tu entre: python Main.py http://www.youtube.com/watch?v=ms_9iuGxyQA
15 août 2007 à 21:29
bon j'ai python version 2.5 sous un pc sous xp et j'utilise IDLE(python GUI)
je charge le fichier Main.py , je lance le programme en cliquant sur "Run" puis "run module"
comment lancer la commande Main.py http:www.youtube.com/watch?v=ms_9iuGxyQA ?
j'ai pensé la taper après >>>
Après avoir lancer Main.py
voila ce que j'obtiens:
>>> RESTART
>>>
usage:
python Main.py url
url : l'adresse de la video
>>> Main.py http://www.youtube.com/watch?v=ms_9iuGxyQA (que je tape)
SyntaxError: invalid syntax (message que j'obtiens!!)
>>>
J'obtiens systematiquement le message "SyntaxError: invalid syntax"
Pouvez vous m'expliquer comment il faut s'y prendre pour lancer ce programme avec son argument
12 juin 2007 à 21:01
12 juin 2007 à 18:48
28 mai 2007 à 22:16
D:\Main.py (le chemin d'acces du fichier Main.py)
suivie de : http://www.youtube.com/watch?v=ms_9iuGxyQA (l'argument de la fonction ici l'url de la video)
21 mai 2007 à 11:14
Je suis desoler de t'embarraser avec mais question mais il c'est parce que ton programme me semble trés intéressant.
20 mai 2007 à 18:02
dans un shell : python Main.py http://www.youtube.com/watch?v=ms_9iuGxyQA
tu remplace Main.py par le nom de fichier ou tu as mis mon script
20 mai 2007 à 16:59
16 mai 2007 à 13:47
Avec
if len(sys.argv) == 1:
tu ne traiteras QUE les commandes bien formatées. Ceux qui mettront 6 arguments devront se résoudre à n'en passer qu'un seul.
15 mai 2007 à 20:37
heu je comprend pas trop pour les arguments si je recupere le second agument sachant que sys.argv[0] represente le nom de fichier ... non ?
le header serviras a gerer l'avancement du telechargement
sinon encore merci pour ton commentaire !
14 mai 2007 à 15:44
Puisque tu récupéres le header 'content-length', pourquoi n'en ferais-tu pas quelque chose ? Un p'tit print ?
Sur cette ligne, j'aurai plutôt testé l'égalité avec 1
if len(sys.argv) > 1:
car celui qui rentrerait 2 arguments verrait le code s'exécuter avec comme source le 1er argument. Si cet argument est une URL YouTube => OK, sinon, il va avoir des soucis et ne comprendra pas ce qui se passe.