Comandos de uso común del framework Scrapy del rastreador Python3

Tabla de contenido

 

Comando global

buscar comando

comando RunSpider

comando de configuración

comando de shell

comando startproject

comando de versión

 comando de vista

Comando de proyecto

Comando de banco

Comandos de Genspider

Verificar comando

Comando de rastreo

Comando de lista

 Comando de edición

 Parse comando


Comando global

  •   banco         Ejecutar prueba de referencia rápida
  •  buscar         Obtener una URL con el descargador de Scrapy
  •   genspider     Genera una nueva araña usando plantillas predefinidas
  •   RunSpider     Ejecuta una araña autónoma (sin crear un proyecto)
  •   configuración      Obtener valores de configuración
  •         consola de raspado interactivo shell  
  •   startproject  Crear nuevo proyecto
  •   versión       Imprimir versión Scrapy
  •   ver          URL abierta en el navegador, como lo ve Scrapy

buscar comando

El comando fetch se utiliza principalmente para mostrar el proceso de rastreo del rastreador.
Por ejemplo, podemos mostrar el proceso de rastreo de la URL correspondiente en forma de URL scrapy fetch. Tome el proceso de mostrar el rastreador para rastrear la página de inicio de Baidu (http://www.baidu.com) como ejemplo, como se muestra a continuación.

En este punto, si usa este comando fuera del directorio del proyecto Scrapy, se invocará el rastreador predeterminado de Scrapy para rastrear la página web. Si usa este comando en un directorio de proyecto de Scrapy, se llamará al rastreador del proyecto para rastrear la página web.
Cuando usamos el comando fetch, también podemos usar ciertos parámetros para el control correspondiente.
Puede utilizar scrapy fetch -h para enumerar todos los parámetros relacionados con la búsqueda disponibles.
Por ejemplo, podemos usar el parámetro -headers para controlar la visualización de la información del encabezado cuando el rastreador correspondiente rastrea la página web, o usar el parámetro -nolog para controlar que no se muestre la información del registro. Al mismo tiempo, también podemos usar el parámetro --spider-SPIDER para controlar cuál usar El rastreador usa el parámetro -logfile = FILE para especificar el archivo para almacenar información de registro y usa el
parámetro -loglevel-LEVEL para controlar el nivel de registro.
Como se muestra a continuación, usamos el parámetro --headers y el parámetro --nolog para controlar la información del encabezado cuando el rastreador rastrea la página de inicio de Sina News (ttp: //news.sina.com.cn/) y no muestra la información de registro.

comando RunSpider

A través del comando runspider en Scrapy, podemos realizar un proyecto de rastreador que no dependa de Scrapy y ejecutar directamente un archivo rastreador.
A continuación, mostraremos un ejemplo del uso del comando ruspioler para ejecutar un archivo de rastreo. Primero, escriba un archivo de rastreo de Scrapy, como se muestra a continuación.

from scrapy.spiders import Spider

class FirstSpider(Spider):
    name = 'first'
    allowed_domains = ['baidu.com']
    start_urls = ['https://www.baidu.com',]

    def parse(self, response):
        pass

Aquí, solo necesita comprender brevemente el archivo del rastreador, porque aprenderemos cómo escribir un archivo del rastreador en detalle más adelante. Primero, defina el nombre del archivo del rastreador como primero y, al mismo tiempo, defina la URL de inicio del rastreo como htp: //www.baidu.com.
Luego, puede usar el comando runpider para ejecutar el archivo rastreador directamente. En este momento, no necesita depender de un proyecto Scrapy completo para ejecutarlo, solo necesita tener el archivo rastreador correspondiente.
Como se muestra a continuación, ejecutamos el archivo del rastreador a través de scrapy runspider y configuramos el nivel de registro en INFO.

Se puede ver que a través de esta instrucción, el archivo del rastreador finalmente se completó con éxito sin depender del proyecto Scrapy.

comando de configuración

Podemos ver la información de configuración correspondiente a Scrapy a través del comando de configuración en Scrapy.
Si usa el comando sttings en el directorio del proyecto Scrapy, puede ver la información de configuración del proyecto correspondiente. Si usa el comando de configuración fuera del directorio del proyecto Scrapy, puede ver la información de configuración predeterminada de Scrapy.

comando de shell

La terminal interactiva de Scrapy (shell de Scrapy) se puede iniciar mediante comandos de shell.
La terminal interactiva de Scrapy se usa a menudo durante el desarrollo y la depuración. El uso de la terminal interactiva de Scrapy puede depurar las respuestas del sitio web sin iniciar el rastreador de Scrapy. De manera similar, en esta terminal interactiva, también podemos escribir algo de Python El código se prueba en consecuencia.
Por ejemplo, puede usar comandos de shell para crear un entorno de terminal interactivo para rastrear la página de inicio de Baidu y configurarlo para que no genere información de registro, como se muestra a continuación:
 

 Se puede ver que después de ejecutar este comando, habrá objetos Scrapy disponibles y comandos de acceso directo, como elemento, respuesta, configuración, araña, etc., y entrar en el modo interactivo. Después de ">>>", puede ingresar comandos interactivos y El código correspondiente.
En este modo interactivo, puede extraer el título de la página web rastreada. En este momento, lo extraemos mediante expresiones XPath. Quizás los lectores no estén familiarizados con las expresiones XPath en este momento. Explicaremos los conceptos básicos de las expresiones XPath más adelante. Aquí, solo necesita saber el significado de la siguiente expresión XPath "/ html / head / title": extraiga la información correspondiente a la etiqueta <title> en la etiqueta <head> debajo de la etiqueta <html)> de la página web. Sabemos que la información de la etiqueta en este momento es la información del título de la página web, por lo que el propósito de la siguiente expresión XPath "/ htm / headtitle" es extraer la información del título de la página web rastreada.
Como se muestra a continuación, extrajimos la información correspondiente a través de sel.xpath y generamos la información mencionada a través del código Python.

>>> ti = sel. xpath ("/ html / head / title")
>>> print (ti)
[<selector xpath = '/ html / head / title' data = '<title> Baidu, lo sabrás </tit1e> '>]
>>>
Puede ver que el contenido después de los datos son los datos extraídos. El título "<title> Baidu en Baidu, sabrá que </title>" se extrajo correctamente.
Además, también podemos realizar diversos desarrollos y depuración en el terminal interactivo.
Si queremos salir de la terminal interactiva, podemos usar exit () para lograr, como se muestra a continuación:
>>> exit ()
D: \ Python35 \ myweb \ part12>
Arriba analizamos cómo usar comandos de shell en Scrapy, y aprendemos a usar comandos de shell Hasta cierto punto, puede facilitar enormemente el desarrollo y la depuración de rastreadores, ya que a través de comandos de shell podemos desarrollar y depurar rastreadores directamente sin crear un proyecto Scrapy.

comando startproject

El comando startproject La sección anterior se ha analizado en detalle y se utiliza principalmente para crear proyectos.

comando de versión

Mediante el comando de versión, puede mostrar directamente la información relacionada con la versión de Scrapy.
Por ejemplo, si desea ver la información de la versión de Scrapy, puede usar el siguiente código:

Si también desea ver otra información de versión relacionada con Scrapy (incluida la información de versión de Scrapy mencionada anteriormente, por supuesto), como la información de versión de titelptotopltforo, puede agregar el parámetro -v al comando de versión, como se muestra a continuación:

Como puede ver, la información de la versión relacionada con Scrapy se ha mostrado en detalle en este momento.

 comando de vista

Mediante el comando de visualización, podemos lograr la función de descargar una página web y visualizarla con un navegador.
Por ejemplo, podemos descargar la página de inicio de NetEase News (http://www.baidu.com/) mediante el siguiente comando y ver automáticamente la página web descargada con un navegador.
(venv) D: \ pycharmproject \ pythonlearning> scrapy view http://www.baidu.com/ Después de
ejecutar este comando, se abrirá automáticamente el navegador y mostrará la página que se ha descargado en el local (tenga en cuenta que la página web se ha descargado en el local , Por lo tanto, la URL en este momento es la dirección de la página web local), como se muestra en la Figura 12-5.

Comando de proyecto

A continuación, analizamos en detalle el uso de los comandos del proyecto Scrapy.
Dado que los comandos del proyecto Scrapy solo se pueden usar en función del proyecto del rastreador Scrapy, primero ingresamos un proyecto del rastreador Scrapy ya creado, como se muestra a continuación.
 

(venv) D:\pycharmproject\pythonlearning>cd myfirstpjt

 Utilice scrapy -h para ver los comandos disponibles en el proyecto.

Comandos disponibles:
  banco         Ejecutar
  comprobación de prueba comparativa rápida         Comprobar contratos de araña
  rastrear         Ejecutar una
 edición de araña          Editar
  búsqueda de   araña       Obtener una URL usando el descargador de
  Scrapy genspider     Generar una nueva araña usando la
  lista de   plantillas predefinidas        Lista de arañas disponibles
  analizar         Analizar la URL (usando su araña) e imprimir los resultados
  runpider     Ejecutar una araña autónoma (sin crear un proyecto)
  configuración      Obtener valores de configuración
  shell         Consola de   extracción interactiva
startproject Crear nuevo proyecto de
  la versión       Print Scrapy versión
  vista          Abrir URL en el navegador, como se ve por Scrapy

Comando de banco

Utilice el comando bench para probar el rendimiento del hardware local.
Cuando ejecutamos scrapy bench, se creará un servidor local y se rastreará a la máxima velocidad. Para probar el rendimiento del hardware local y evitar la influencia de muchos otros factores, solo realizamos seguimiento de enlaces sin procesamiento de contenido.
Como se muestra a continuación, utilizamos un banco scrapy para probar el rendimiento del hardware local.
 

Puede observarse que en los resultados de las pruebas obtenidas, solo en términos de rendimiento del hardware, se muestra que se pueden rastrear aproximadamente miles de páginas web por minuto. Esto es solo un estándar de referencia. Cuando el proyecto de orugas se ejecuta realmente, la velocidad será diferente debido a varios factores. En términos generales, la velocidad de funcionamiento real se puede comparar con la velocidad de referencia para optimizar y mejorar el proyecto de orugas.

Comandos de Genspider

Puede utilizar el comando genspider para crear archivos rastreadores Scrapy, que es una forma rápida de crear archivos rastreadores. El uso de este comando puede generar directamente un nuevo archivo de rastreador basado en la plantilla de rastreador existente, lo cual es muy conveniente. De manera similar, debe estar en el directorio del proyecto del rastreador Scrapy para usar este comando.
Puede utilizar el parámetro -l de este comando para ver las plantillas de rastreador disponibles actualmente, como se muestra a continuación.

Como puede ver, las plantillas de rastreador disponibles actualmente son básicas, rastreo, csvfeed y xmlfeed.
En este punto, puede generar un archivo de rastreador basado en cualquiera de las plantillas de rastreador. Por ejemplo, podemos usar la plantilla básica para generar un archivo de rastreador con el formato "scrapy genspider -t plantilla nuevo nombre de rastreador, nuevo nombre de dominio rastreado por rastreador", de la siguiente manera Mostrado.
 

Verificar comando

La prueba del rastreador es más problemática, así que use contract (contract9) para probar el rastreador en Scrapy.
Utilice el comando de verificación en Scrapy para realizar la verificación de contratos en un archivo rastreador.
Por ejemplo, para verificar el contrato (contrato) del archivo rastreador weisuen.py creado recientemente en base a la plantilla, podemos usar "scrapy check crawler name" para implementarlo. Tenga en cuenta que en este momento, el nombre del rastreador después de "check" no es el nombre del archivo rastreador. Sin sufijo, como se muestra a continuación.

Se puede ver que se pasa la inspección del contrato del archivo del rastreador y el resultado que se muestra es "OK".

Comando de rastreo

Puede iniciar un rastreador mediante el comando de rastreo. El formato de inicio es "nombre del rastreador de rastreo".
Cabe señalar que el rastreador va seguido del nombre del rastreador, no del nombre del proyecto del rastreador.

Comando de lista

Mediante el comando de lista en Scrapy, puede enumerar los archivos del rastreador disponibles actualmente.
Por ejemplo, podemos ingresar al directorio donde se encuentra el proyecto del rastreador myfirstpjit en la línea de comando, y luego usar la lista scrapy para listar directamente los archivos del rastreador disponibles actualmente, como se muestra a continuación.

Como puede ver, hay un archivo rastreador que se puede usar en este momento, primero.

 Comando de edición

A través del comando de edición en Scrapy, podemos abrir directamente el editor correspondiente para editar el archivo del rastreador. Este comando causará un pequeño problema cuando se ejecute en Windows, y en Windows, generalmente usamos Python IDE (como PyCharm) para apuntar directamente al proyecto del rastreador. Para la administración y edición, este comando es muy conveniente en Linux.

 Parse comando

A través del comando parse, podemos obtener la URL URL especificada y usar el archivo rastreador correspondiente para su procesamiento y análisis.
Por ejemplo, podemos usar "scrapy parse http://www.baidu.com" para obtener la página de inicio de Baidu (htp: //www.baidu.com), porque no hay un archivo de rastreo o
una función de procesamiento especificados , por lo que en este momento El archivo del rastreador predeterminado y la función de procesamiento predeterminada se utilizarán para el procesamiento correspondiente, como se muestra a continuación.

El comando "scrapy parse" tiene muchos parámetros. Podemos verificar los parámetros específicos mediante scrapy parse -h, como se muestra a continuación.

Opciones
=======
--help, -h              muestra este mensaje de ayuda y sale
--spider = SPIDER         usa esta araña sin buscar una
-a NOMBRE = VALOR           establece un argumento de araña (puede repetirse)
--pipelines             procesa elementos a través de canalizaciones
--nolinks               no muestran enlaces a seguir (solicitudes extraídas)
--noitems               no muestra elementos raspados
--nocolor              evita usar pigmentos para colorear la salida
--reglas, -r             usa las reglas de CrawlSpider para descubrir la devolución de llamada
- callback = CALLBACK, -c CALLBACK
                        use esta devolución de llamada para analizar, en lugar de buscar una
                        devolución de llamada
--meta = META, -m META    inyectar meta adicional en la Solicitud, debe ser una
                        cadena json sin procesar válida
--cbkwargs = CBKWARGS     inyectar kwargs de devolución de llamada adicionales en la Solicitud, debe
                        ser una cadena json sin procesar válida
--depth = DEPTH, -d DEPTH
                        profundidad máxima para analizar solicitudes [predeterminado: 1]
--verbose, -v           imprime cada nivel de profundidad uno por uno

Opciones globales
--------------
--logfile =          archivo de registro ARCHIVO . si se omite stderr se usará
--loglevel = LEVEL, -L LEVEL
                        nivel de registro (predeterminado: DEBUG)
--nolog                 deshabilita el registro por completo
--profile = FILE          escribe python cProfile stats en FILE
--pidfile = FILE          escribe ID de proceso en FILE
- -set = NAME = VALUE, -s NAME = VALUE
                        set / override setting (puede repetirse)
--pdb                   habilitar pdb en caso de falla
 

Como puede ver, estos parámetros se dividen aproximadamente en dos categorías: parámetros comunes (Opciones) y parámetros globales (Opciones globales). Básicamente hemos visto parámetros globales en otros comandos, por lo que aquí nos enfocamos principalmente en los parámetros correspondientes al comando ( Opciones).
A continuación se resumen los parámetros de uso común y sus significados, como se muestra en la Tabla 12-2.

A través de la tabla anterior, puede saber claramente qué parámetros comunes están en el comando narse.

Supongo que te gusta

Origin blog.csdn.net/someby/article/details/105440171
Recomendado
Clasificación