Depuración de Scrapy usando Visual Studio

Soy nuevo en Scrapy y Python y lo estoy disfrutando.

¿Es posible depurar un proyecto scrapy usando Visual Studio? Si es posible, ¿cómo?

Puede instalar PTVS en visual studio 2012. Luego cree un proyecto de python a partir del código de python existente e importe su código.

Si está familiarizado con Visual Studio, es lo mismo que otros lenguajes en Visual Studio, como C ++ / C #. Simplemente cree algunos puntos de ruptura y comience su secuencia de comandos con la depuración.

Como dijo ThanhNienDiCho, agregue “-mscrapy.cmdline crawl your_spider_name” a su argumento de intérprete.

Captura de pantalla de PTVS

He creado un archivo de inicio llamado runner.py

from scrapy.cmdline import execute execute(['scrapy','crawl', 'spider_name']) 

solo necesitas configurar ese archivo como el inicio en las opciones del proyecto.

Funciona con visual studio 2015.

Bueno, probé todas las respuestas dadas al OP y ninguna funcionó para mí. El más cercano de todos parece ser el publicado por @Rafal Zajac, sin embargo, también falló para mí.

Terminé encontrando la solución aquí , sin embargo, también algunas respuestas ya no funcionan en las nuevas versiones.

Así que la versión que parece funcionar para mí es la siguiente:

 from scrapy.crawler import CrawlerProcess from tutorial.spiders.dmoz_spider import DmozSpider import scrapy.utils.project from sys import stdin print ("init...") spider = DmozSpider() setttings = scrapy.utils.project.get_project_settings() process = CrawlerProcess(setttings) process.crawl(spider) process.start() x = stdin.read(1) 

Esto debería estar en el script de inicio, no se requieren argumentos de script.

Tuve el mismo problema, y ​​la respuesta inicial de Yuan no funcionó para mí.

Para ejecutar Scrapy, necesita abrir cmd.exe y

 cd "project directory" scrapy crawl namespider 
  • scrapy es scrapy.bat.
  • namespider es el valor del campo en la clase araña.
  • Para ejecutar Scrapy desde Visual Studio, use los parámetros de entrada de -mscrapy.cmdline crawl your_spider_name . Ver http://imgur.com/2PwF3g0 .

ACTUALIZAR:

Parece que con la versión 1.1 de scrapy tiene que cambiar los “Argumentos de script” en la configuración de depuración de su proyecto a “runpider .py” y debería funcionar como se esperaba:

introduzca la descripción de la imagen aquí


También soy nuevo en python y scrapy y creo que tuve exactamente el mismo problema.

Estaba siguiendo un tutorial del sitio web de Scrapy: http://doc.scrapy.org/en/latest/intro/tutorial.html , así que primero generé la estructura de archivos para el “tutorial” del proyecto scrapy.

El siguiente paso fue crear el nuevo proyecto de Python “A partir del código de python existente” y seleccionar la carpeta superior “tutorial”. Cuando el asistente pregunta qué tipos de archivos importar, solo uso *. * Para importar todo. Si deja la configuración predeterminada, no importará el archivo scrapy.cfg.

Supongo que llegaste tan lejos y lo que solo querías era poner un punto de interrupción, por ejemplo, en la clase araña, presionar F5 y comenzar a depurar.

Traté como sugerido:

Como dijo ThanhNienDiCho, agregue “-mscrapy.cmdline crawl your_spider_name” a su argumento de intérprete.

En este caso, también debe configurar el archivo de inicio, no pude averiguar esta parte. No puedes usar ningún archivo del proyecto porque no es así como funciona, ¿verdad? Intenté agregar dummy.py (archivo vacío) en el nivel superior como archivo de inicio, pero luego recibí un mensaje de Scrapy que dice “comando desconocido: rastrear”; solo el mensaje que obtendría si ejecuta el comando “áspero” pero no de la carpeta del proyecto. Tal vez haya una manera de hacerlo funcionar y alguien podría explicar la configuración completa utilizando este enfoque. No pude hacerlo bien.

Finalmente, noté que el equivalente de linux de scrapy.bat es un archivo python con el siguiente contenido:

 from scrapy.cmdline import execute execute() 

Así que reemplacé mi dummy.py con el archivo scrapy_runner.py (el nombre del archivo no importa) con el contenido anterior, y ese fue mi archivo de inicio.

Ahora lo último fue agregar a las Propiedades del proyecto -> Depurar -> Argumento de secuencia de comandos después del valor:

gatear dmoz

donde “dmoz” era el nombre del nombre de la araña del tutorial.

Esta configuración funciona para mí. Espero que esto ayude.

introduzca la descripción de la imagen aquí