Python Scrapy: Quelle est la différence entre les commandes "runspider" et "crawl"?
quelqu'un Peut m'expliquer la différence entre runspider et analyse les commandes? Quels sont les contextes dans lesquels ils doivent être utilisés?
3 réponses
Dans la commande:
scrapy crawl [options] <spider>
<spider>
est le nom du projet (défini dans settings.py comme BOT_NAME
).
Et dans la commande:
scrapy runspider [options] <spider_file>
<spider_file>
est le chemin d'accès vers le fichier qui contient l'araignée.
Sinon, les options sont les mêmes:
Options
=======
--help, -h show this help message and exit
-a NAME=VALUE set spider argument (may be repeated)
--output=FILE, -o FILE dump scraped items into FILE (use - for stdout)
--output-format=FORMAT, -t FORMAT
format to use for dumping items with -o
Global Options
--------------
--logfile=FILE log file. if omitted stderr will be used
--loglevel=LEVEL, -L LEVEL
log level (default: DEBUG)
--nolog disable logging completely
--profile=FILE write python cProfile stats to FILE
--lsprof=FILE write lsprof profiling stats to FILE
--pidfile=FILE write process ID to FILE
--set=NAME=VALUE, -s NAME=VALUE
set/override setting (may be repeated)
--pdb enable pdb on failure
Depuis runspider
ne dépend pas de l' BOT_NAME
paramètre, en fonction de la façon dont vous personnalisez vos racloirs, vous pourriez trouver runspider
plus souple.
La petite explication et la syntaxe:
runspider
Syntaxe: scrapy runspider <spider_file.py>
nécessite un projet: non
exécuter une araignée contenue dans un fichier Python, sans avoir à créer un projet.
Exemple d'utilisation:
$ scrapy runspider myspider.py
analyse
Syntaxe: scrapy crawl <spider>
nécessite un projet: Oui
commencez à ramper en utilisant une araignée avec le nom correspondant.
exemples d'Utilisation:
$ scrapy crawl myspider
La principale différence est que runspider
n'a pas besoin de projet. Qui est, vous pouvez écrire une araignée dans un myspider.py
le fichier et l'appel scrapy runspider myspider.py
.
crawl
commande nécessite un projet pour trouver les paramètres du projet, chargez les araignées disponibles à partir de SPIDER_MODULES
paramètres, et rechercher l'Araignée par name
.
Si vous avez besoin rapidement d'araignée pour une courte tâche, puis runspider
a moins de boilerplate requis.