Scrapy es una de las herramientas o framework más populares y fáciles de utilizar para hacer «scraping» y «crawling» de una web. Es decir, automatizar el proceso de obtener contenidos de esta, ya sea para analizarlos u otra cosa.
En este artículo quiero publicar trucos que me voy encontrando para sacarle el máximo provecho, aquí el primero y ya iré completando.
Hacer peticiones con cookies en la Shell de Scrapy
Una de las herramientas más útiles de este framework, es su Shell, mediante la que podemos hacer pruebas de peticiones antes de lanzar la araña.
Hoy me he encontrado en una web multiidioma bastante antigua, que utiliza exclusivamente una cookie para mantener el idioma con el que navega el usuario, por lo que cuando hacia peticiones sin esa cookie me salían resultados incorrectos.
Para resolverlo, primero accedemos a la shell sin definir la URL:
scrapy shell
A continuación una vez dentro modificamos la petición para que incluya la cabecera:
>>> from scrapy import Request
>>> req = Request('http://ejemplo.com', headers={"cabecera":"valor"})
>>> fetch(req)
Finalmente cuando comprobamos que esto funciona en la Shell, podemos utilizar este mismo código en nuestro spider para poder incluir cookies en las peticiones.
¿Te gustaría compartir algún truco con scrapy? O ¿tienes alguna consulta sobre este?
Envíame un mensaje y lo incluiré en este artículo.