3 votes

Gestion des araignées dynamiques par Scrapy

Je construis un projet dans lequel j'ai besoin d'un robot d'exploration qui explore une liste de pages Web différentes. Cette liste peut changer à tout moment. Quelle est la meilleure façon d'implémenter ce projet avec scrapy ? Dois-je créer une araignée pour tous les sites Web ou créer des araignées de façon dynamique ?

J'ai lu des articles sur scrapyd et je pense que la création dynamique de spiders est la meilleure approche. J'aurais cependant besoin d'une indication sur la manière de la mettre en œuvre.

0 votes

La logique d'analyse de tous ces sites web est la même, n'est-ce pas ?

1 votes

La logique d'analyse est la même : j'ai un certain nombre de chemins d'accès dans la base de données. La solution la plus simple est de tout mettre dans un spider et de faire tout le parsing dans le parse-callback (avec un appel à la base de données).

0 votes

Yup, on dirait une araignée avec un overriden start_requests méthode.

2voto

Tasawer Nawaz Points 845

Si la logique d'analyse est la même, il existe deux méthodes,

  1. Pour un grand nombre de pages web, vous pouvez créer une liste et lire cette liste au début mai b en start_requêtes ou dans Constructeur et affecter cette liste à start_urls
  2. Vous pouvez passer le lien de votre page web en tant que paramètre à l'araignée à partir des arguments de la ligne de commande, de même que dans les requêtes_méthode ou dans le constructeur, vous pouvez accéder à ce paramètre et l'assigner à l'araignée. start_urls

Passage de paramètres dans scrapy

    scrapy crawl spider_name -a start_url=your_url

Dans scrapyd remplacer -a par -d

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X