ScrapyRT vs Scrapyd

nous avons utilisé Scrapyd service pour un certain temps jusqu'à maintenant. Il fournit une belle enveloppe autour d'un projet raclé et ses araignées laissant pour contrôler les araignées via une API HTTP:

Scrapyd est un service pour exécuter des araignées Scrapy.

il vous permet de déployer vos projets Scrapy et de contrôler leurs araignées utilisation D'une API HTTP JSON.

Mais, récemment, j'ai remarqué un autre "nouveau" paquet - ScrapyRT qui, selon la description du projet, semble très prometteur et du type Scrapyd:

serveur HTTP qui fournit une API pour programmer les araignées parasites et faire des requêtes avec des araignées.

Est-ce package une alternative à l' Scrapyd? Si oui, quelle est la différence entre les deux?

21
demandé sur alecxe 2016-05-17 21:16:06

1 réponses

ils n'ont pas grand chose en commun. Comme vous l'avez déjà vu, vous devez déployer vos araignées pour gratter et ensuite programmer les rampes. scrapyd est un service autonome fonctionnant sur un serveur où vous pouvez déployer et exécuter chaque projet/araignée que vous aimez.

avec ScrapyRT vous choisissez un de vos projets et vous cd pour ce répertoire. Ensuite, vous exécutez par exemple,scrapyrt et de commencer les analyses d'araignées sur le projet par un repos simple (et très similaire à scrapyd) API. Ensuite, vous obtenez des articles rampés en retour dans le cadre de la réponse JSON.

c'est une très belle idée et elle a l'air rapide, légère et bien définie. Par contre, Scrapyd est plus mature et plus générique.

voici quelques différences clés:

  • Scrapyd supporte plusieurs versions d'araignées et plusieurs projets. Aussi loin que je peux voir si vous voulez exécuter deux projets (ou versions) différents avec ScrapyRT vous devrez utiliser des ports différents pour chacun.
  • Scrapyd fournit l'infrastructure pour garder les articles dans le serveur pendant que ScrapyRT les envoie à vous sur la réponse qui, pour moi, signifie qu'ils devraient être dans l'ordre de quelques MBs (au lieu de potentiellement GBs.) De même, la façon dont l'exploitation forestière est gérée dans scrapyd est plus générique que dans ScrapyRT.
  • Scrapyd (potentially persistently) Files d'attente emplois et vous donne le contrôle sur le nombre de processus Scrapy qui fonctionnent en parallèle. ScrapyRT n' quelque chose de simple qui pour autant que je puisse dire est de commencer un crawl pour chaque demande dès que la demande arrive. Bloquer le code dans l'une des araignées en bloquera d'autres aussi.
  • ScrapyRT implique un url argument qui, pour autant que je sache, l'emporte sur tout start_urlslogique liée.

je dirais que ScrapyRT et Scrapyd ne se chevauchent pas très habilement pour le moment. Bien sûr, on ne sait jamais ce que l'avenir nous réserve.

16
répondu neverlastn 2016-05-17 20:22:07