youtube script
#11
Je remonte ce sujet un peu ancien car j'ai eu hier la demande d'avoir un script fonctionnel pour les urls normales et raccourcies de youtube (en youtu.be).

Après quelques efforts, voici ce que ça a donné:
tcl
package require http
bind PUBM - * mu
proc mu {nick uhost hand chan text} {
	set web(page) http://www.youtube.com
	set watch [regexp -nocase -- {\/watch\?v\=([^\s]{11})} $text youtubeid]
	if { $watch == 0 } {
		set watch [regexp -nocase -- {youtu\.be\/([^\s]{11})} $text a youtubeid]
		set youtubeid "/watch?v=$youtubeid"
	}
	set logoo "\002\00301,00You\00300,04Tube\002\017"
 
	if {$watch && $youtubeid != ""} {
		putlog "$web(page)$youtubeid"
		set agent "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1"     
		set t [::http::config -useragent $agent]
		set t [::http::geturl "$web(page)$youtubeid" -timeout 30000]
		set data [::http::data $t]
		::http::cleanup $t
 
		set l [regexp -all -inline -- {<meta name="title" content="(.*?)">.*?<span class="watch-view-count">.*?<strong>(.*?)</strong>} $data]
 
		regexp {"length_seconds": (\d+),} $data "" length
 
		foreach {black a b c d e} $l {
 
			set a [string map -nocase {\&\#39; \x27 &amp; \x26 &quot; \x22} $a]
			set b [string map [list \n ""] $b]
			set c [string map [list \n ""] $c]
			set d [string map [list \n ""] $d]
			set e [string map -nocase {\&\#39; \x27 &amp; \x26 &quot; \x22} $e]
 
			regsub -all {<.*?>} $a {} a
			regsub -all {<.*?>} $b {} b
			regsub -all {<.*?>} $c {} c
			regsub -all {<.*?>} $d {} d
			regsub -all {<.*?>} $e {} e			
 
			putserv "PRIVMSG $chan :$a' ( [duration $length] ) Viewed $b"
 
			    proc duration {s} {
				variable etube
				set hours [expr {$s / 3600}]
				set minutes [expr {($s / 60) % 60}]
				set seconds [expr {$s % 60}]
				set res ""
 
				if {$hours != 0} {append res "$hours hours"}				
				if {$minutes != 0} {append res " $minutes minutes"}
				if {$seconds != 0} {append res " $seconds seconds"}
				return $res
			}	
		}
	}
}
 
putlog "youtitle.tcl loaded..."



J'espère que cela en aidera certains.
Répondre


Messages dans ce sujet
youtube script - par zyrte - 13/09/2011, 15:28
RE: youtube script - par aliasangelius - 13/09/2011, 15:51
RE: youtube script - par zyrte - 13/09/2011, 16:03
RE: youtube script - par aliasangelius - 13/09/2011, 17:16
RE: youtube script - par zyrte - 13/09/2011, 17:24
RE: youtube script - par aliasangelius - 13/09/2011, 17:26
RE: youtube script - par zyrte - 13/09/2011, 17:31
RE: youtube script - par Cain - 16/09/2011, 18:57
RE: youtube script - par aliasangelius - 17/09/2011, 10:37
RE: youtube script - par Cain - 17/09/2011, 13:31
RE: youtube script - par CrazyCat - 16/05/2012, 09:44
RE: youtube script - par EvilHeart - 19/05/2013, 11:48
RE: youtube script - par aliasangelius - 25/05/2012, 10:26
RE: youtube script - par Hitsu - 27/03/2013, 18:10
RE: youtube script - par aliasangelius - 28/05/2013, 21:12
RE: youtube script - par EvilHeart - 29/05/2013, 07:10
RE: youtube script - par aliasangelius - 29/05/2013, 15:16
RE: youtube script - par Hitsu - 16/07/2013, 10:03
RE: youtube script - par CrazyCat - 16/07/2013, 10:24
RE: youtube script - par Hitsu - 16/07/2013, 10:37
RE: youtube script - par taboune - 26/08/2013, 18:44
RE: youtube script - par JazZ - 18/02/2014, 15:24
RE: youtube script - par Furaxx37 - 29/04/2014, 10:32
RE: youtube script - par CrazyCat - 27/05/2014, 13:32
RE: youtube script - par Oz- - 18/01/2016, 10:15
RE: youtube script - par CrazyCat - 18/01/2016, 10:29
RE: youtube script - par Oz- - 18/01/2016, 11:00
RE: youtube script - par CrazyCat - 18/01/2016, 11:12
RE: youtube script - par Oz- - 18/01/2016, 11:26
RE: youtube script - par Oz- - 18/01/2016, 12:34
RE: youtube script - par MisterS - 18/01/2016, 17:15
RE: youtube script - par MisterS - 18/01/2016, 17:17

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté