Scrapy – Herramientas de línea de comandos

Requisito previo: Implementación de Web Scraping en Python con Scrapy

Scrapy es una biblioteca de Python que se utiliza para el web scraping y la búsqueda de contenidos en toda la web. Utiliza Spiders que rastrea la página para encontrar el contenido especificado en los selectores. Por lo tanto, es una herramienta muy útil para extraer todo el contenido de la página web mediante diferentes selectores. 

Para crear una araña y hacer que se arrastre en Scrapy, hay dos formas, podemos crear un directorio que contenga archivos y carpetas y escribir algún código en uno de esos archivos y ejecutar el comando de búsqueda, o podemos interactuar con la araña a través de el shell de línea de comandos de scrapy. Entonces, para interactuar en el shell, debemos estar familiarizados con las herramientas de línea de comando de scrapy.

Las herramientas de línea de comandos de Scrapy proporcionan varios comandos que se pueden usar para varios propósitos. Estudiemos cada comando uno por uno.

Creación de un proyecto Scrapy 

Primero, asegúrese de que Python esté instalado en su sistema o no. A continuación, cree un entorno virtual. 

Ejemplo:

Comprobación de Python y creación de Virtualenv para el directorio scrapy.

Estamos usando un entorno virtual para guardar la memoria, ya que descargamos globalmente un paquete tan grande a nuestro sistema, entonces consumirá mucha memoria, y tampoco necesitaremos mucho este paquete hasta que esté enfocado en seguir adelante con él. .

Para activar el entorno virtual que acabamos de crear primero tenemos que entrar en la carpeta Scripts y luego ejecutar el comando activar

guiones de cd

activar

discos compactos..

Ejemplo:

Activando el entorno virtual

Luego tenemos que ejecutar el siguiente comando para instalar scrapy desde pip y luego el siguiente comando para crear el proyecto scrapy llamado GFGScrapy.

# Este es el comando para instalar scrapy en entorno virtual. creado arriba

pip instalar scrapy

# Este es el comando para iniciar un proyecto scrapy.

scrapy startproject GFGScrapy

Ejemplo:

Creando el proyecto scrapy

Ahora vamos a crear una araña en scrapy. Para esa araña, debemos ingresar la URL del sitio que queremos raspar.

Estructura de directorios

# cambia el directorio a aquel donde se hace el proyecto scrapy.

cd GFGScrapy

# ingrese la URL

hombre araña genspider scrapy https://quotes.toscrape.com/

Por lo tanto, creamos una araña raspadora que se arrastra en el sitio mencionado anteriormente.

Ejemplo:

Creando las arañas

Para ver la lista de herramientas disponibles en scrapy o para obtener ayuda al respecto, escriba el siguiente comando.

Sintaxis:

raspado -h

Si queremos más descripción de cualquier comando en particular, escriba el comando dado.

Sintaxis:

scrapy <comando> -h

Ejemplo:

Esta es la lista de herramientas de línea de comandos utilizadas en scrapy

La lista de comandos con sus aplicaciones se analiza a continuación:

  • banco: este comando se utiliza para realizar pruebas comparativas, lo que significa si el software scrapy puede ejecutarse en el entorno del sistema dado.

Sintaxis:

banco raspado

  • check: Comprueba los contratos de araña.

Sintaxis:

scrapy check [opciones] <spider>

Ejemplo:

Comando de verificación Scrapy

  • rastrear: este comando se usa para rastrear la araña a través de la URL especificada y recopilar los datos respectivamente.

Sintaxis:

raspado rastreo spiderman

Ejemplo:

Araña arrastrándose por la página web

  • editar y genspider: Ambos comandos se utilizan para modificar las arañas existentes o crear una nueva araña respectivamente,
  • version y view: estos comandos devuelven la versión de scrapy y la URL del sitio tal como los ve la araña, respectivamente.

Sintaxis:

versión scrapy

Este comando abre una nueva pestaña con el nombre de la URL del archivo HTML donde se guardan los datos de la URL especificada,

Sintaxis:

vista scrapy [url]    

Ejemplo:

Comprobación de la versión 

  • lista, análisis y configuración: como sugiere el nombre, se utilizan para crear la lista de arañas disponibles, analizar la URL de la araña mencionada y establecer los valores en el archivo settings.py respectivamente.

Comandos personalizados

Además de todas estas herramientas de línea de comandos presentes por defecto, scrapy también proporciona al usuario la capacidad de crear sus propias herramientas personalizadas, como se explica a continuación:

En el archivo settings.py tenemos una opción para agregar herramientas personalizadas bajo el encabezado COMMANDS_MODULE. 

Sintaxis:

COMMAND_MODULES = ‘spiderman.comandos’ 

El formato es <nombre_del_proyecto>.commands, donde commands es la carpeta que contiene todos los archivos commands.py. Vamos a crear un comando personalizado. Vamos a crear un comando personalizado que se usa para rastrear la araña.

  • Primero, cree una carpeta de comandos que sea el mismo directorio donde se encuentra el archivo settings.py.

Estructura de directorios

  • A continuación, vamos a crear un archivo .py dentro de la carpeta de comandos llamado archivo customcrawl.py , que se utiliza para escribir el trabajo que realizará nuestro comando. Aquí el nombre del comando es scrapy customcrawl. En este archivo, vamos a usar una clase llamada Comando que hereda de ScrapyCommand y contiene tres métodos para crear el comando.

Programa:

Python3

from scrapy.commands import ScrapyCommand
  
  
class Command(ScrapyCommand):
    
    # requires the use of project
    requires_project = True
  
    # syntax for command
    def syntax(self):
        return '[options]'
  
    # description of command
    def short_desc(self):
        return 'Runs the spider using custom command'
  
    # the main running command
    def run(self, args, opts):
        
        # derieves to spider of scrapy project
        spider = self.crawler_process.spiders.list()
          
        # calls crawl command for that particular spider
        self.crawler_process.crawl(spider[0], **opts.__dict__)
          
        # starts the crawl
        self.crawler_process.start()
  • Desde ahora, hemos creado una carpeta de comandos y un archivo customcrawl.py dentro de ella, ahora es el momento de dar acceso scrapy a este comando a través del archivo settings.py.

Entonces, debajo del archivo settings.py, mencione un encabezado llamado COMMANDS_MODULE y agregue el nombre de la carpeta de comandos como se muestra:

archivo de configuración.py

  • Ahora es el momento de ver la salida.

Sintaxis:

scrapy custom_command_file_name

Ejemplo:

Nuestro comando personalizado se ejecuta con éxito

Por lo tanto, vimos cómo podemos definir un comando personalizado y usarlo en lugar de usar también los comandos predeterminados. También podemos agregar comandos a la biblioteca e importarlos en la sección del archivo setup.py en scrapy.

Publicación traducida automáticamente

Artículo escrito por harshkumarchoudhary144 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *