Estoy preparando un pequeño programilla en python con la idea de hacerme una base de datos de las películas que tengo, con carátulas, características, actores y sobre todo con una marca para saber si la he visto o no la he visto. Que dada la poca memoria que tengo, es necesario marcarlas para evitar ver las películas dos (o más) veces.
En principio, estoy trabajando en un scraper, con la idea de sacar la información de filmaffinity, que es una página en castellano con datos de una barbaridad de películas. La verdad, es que hacer un script en python, es una verdadera pasada, se hace en un momentillo.
Ahora lo que hace el scraper, es de un texto obtener un listado de títulos de películas y de páginas. Pero una vez llegado hasta aquí creo que los siguientes pasos van a correr una barbaridad.
Es impresionante en que pocas líneas de código se procesa toda la página.
[python]
#!/usr/bin/env python
# -*- coding: ISO-8859-1 -*-
from BeautifulSoup import BeautifulSoup,NavigableString
import urllib2,sys
import re
busqueda = sys.argv[1]
address=`https://www.filmaffinity.com/es/search.php?stext=`+busqueda+`&stype=title`#&stype=all
html = urllib2.urlopen(address).read()
soup = BeautifulSoup(html)
pTag = soup.find(`a`)
resultados = pTag.findAllNext(attrs={«href» : re.compile(«/es/film*»)})
for res in resultados:
if (`img` in str(res)) == False:
#print `resultado = `+str(res)
print `####################################################################`
print `página = https://www.filmaffinity.com`+str(res)[9:].split(`>`)[0][:-1]
print `id = `+str(res)[17:].split(`>`)[0][:-6]
print `pelicula = `+str(res)[9:].split(`>`)[1][:-3]
[/python]
No entiendo como se procesa este scrip