Je dois envoyer un message à mon spider sur les nouvelles tentatives qui ont été émises plus de 1 fois.Scrapy RetryMiddleWare envoyer le signal à spider
Je pensais utiliser un signal et patcher le RetryMiddleWare intégré dans scrapy pour envoyer un tel signal lorsque les conditions sont remplies.
Cela va-t-il fonctionner?
Comment déclencher un signal dans Scrapy?
Je n'ai pas trouvé d'indice sur le net.
Merci
Merci - méthode d'appel est la bonne façon de procéder - je vais le changer. J'ai corrigé RetryMiddleware pour une solution rapide et sale, mais je vais prendre votre solution et utiliser mon modifié. dois-je sous-classer RetryMiddleware et juste prendre la fonction corrigée? – DjangoPy
Je ne comprends pas ce que vous voulez dire par "patché". Sous-classe 'RetryMiddleware' et modifier la méthode' _retry' (je pense). Changer sa logique pour appeler une méthode spécifique de l'araignée quand une certaine condition se produit. – warvariuc
ok, je l'ai. question générale: disons que je veux ignorer une réponse dans la fonction d'analyse - est-ce suffisant pour retourner Aucun ou devrais-je déclencher une exception? J'ai remarqué que Scrapy est resté bloqué sur de tels scénarios pendant quelques secondes. – DjangoPy