Página 1 de 1

Canales youtube

Publicado: 21 Mar 2016, 23:49
por kampanita
Por si a alguno le interesa, os dejo un ejemplo de como hacer un "canal" para lo que os interese buscar en youtube, y asi que cada uno se lo adapte a sus "necesidades"

Creo que es un buen sitio para empezar a ver como hacer un canal de cero, y asi os animais ;)

El crimenes.py

https://raw.githubusercontent.com/kampa ... rimenes.py

y el xml
https://raw.githubusercontent.com/kamp ... imenes.xml

Re: Canales youtube

Publicado: 22 Mar 2016, 01:39
por cabarrar
Hola....interesante para empezar a trastear....se podría poner la duración del video?

Gracias

Re: Canales youtube

Publicado: 22 Mar 2016, 07:44
por loko99
Me parece muy interesante kampanita,

El archivo XML no tiene complicación pero el PY podrías decirme en que campos fijarnos, hay variables que desconozco...

Re: Canales youtube

Publicado: 22 Mar 2016, 10:35
por kampanita
Se trata de

a- Montar un menu de arranque ( mainlist(item): )
En el se ponen "a mano" los enlaces ( thumbnail con la url a la foto, url con la url que pasamos a la siguiente funcion, action = "" << aqui se define a que funcion se llama al pinchar en dicho "item" ( o linea de menu )

b - Lo que hacemos es llamar a la url de busqueda de youtube ( https://www.youtube.com/results?q=....... )
Leemos el codigo fuente de la pagina de respuesta a dicha url

c- Buscamos por el codigo fuente los diferentes elementos que construyen el siguiente menu ( listav(item): ) con expresiones regulares de python
Para ellos vamos "acotando" lo que queremos sacar.

basicamente -> url , thumbnail ( imagen ) , titulo

Para las expresiones regulares, se trata de sacar del codigo html de la pagina de resultados que contiene esas variables que necesitamos....

Por ejemplo, estariamos buscando aquellas lineas que sigan el patron :

patronbloque='<li><div class="yt-lockup.*?<img src="[^"]+" alt="" data-thumb="([^"]+)".*?<h3 class="yt-lockup-title "><a href="([^"]+)".*?title="([^"]+)".*?</h3>'

donde pone .*? significa que NOS da igual lo que haya en medio
donde pone "[^"]+" significa "todo lo que venga entre dos comillas

Cuando queremos "sacar el valor de algo", y quedarnos con eso ( las variables que queremos ) , ponemos lo mismo de arriba pero con parentesis

donde pone <a>(.*?)<b> significa, quedate con lo que hay entre <a>algo<b>
donde pone href="([^"]+)" significa quedate con lo que hay entre las dos comillas ( href="http://www.algo.com"

en el bucle

for scrapedurl, scrapedthumbnail, scrapedtitle in mathces:

estaria cogiendo el valor de esas variables ( con ese orden, es decir, con el orden del patron de busqueda )


La verdad es que no es nada complicado, si tedioso.

Re: Canales youtube

Publicado: 23 Mar 2016, 10:52
por loko99
WOW!

Menuda respuesta tan buena!

TE lo agradezco haber si en unos días que tenga un hueco me pongo a probarlo.. espero poder :roll:


Muchas gracias!

Re: Canales youtube

Publicado: 23 Mar 2016, 11:08
por kampanita
Yo empece mirando esto :

http://www.mimediacenter.info/category/ ... salacarta/

y mirando codigo de otros canales ya hechos para entenderlo ... no es nada complicado, aunque en principio parezca "larrehostia" ;)

Re: Canales youtube

Publicado: 23 Mar 2016, 11:11
por kampanita
Yo empece mirando esto :

http://www.mimediacenter.info/category/ ... salacarta/

y mirando codigo de otros canales ya hechos para entenderlo ... no es nada complicado, aunque en principio parezca "larrehostia" ;)

http://www.mimediacenter.info/2009/09/2 ... a-parte-1/

Re: Canales youtube

Publicado: 23 Mar 2016, 11:13
por loko99
Me los apunto también!

Espero comentar avances ;)

Re: Canales youtube

Publicado: 23 Mar 2016, 17:25
por kampanita
Aquí te dejo una modificacion para que veas la duracion de los videos

https://github.com/kampanita/pelisalaca ... rimenes.py

Imagen

Re: Canales youtube

Publicado: 24 Mar 2016, 10:16
por cabarrar
Gracias x la modificación!