2017-10-04 1 views
0

Y at-il un moyen que je peux le faire dans un code plus petit?scrapy comment compter les 300 redirections

spider.py

... 
    handle_httpstatus_list = [301,302,303,305,307,308,400,403,404] 


    ... 

     item['redirects'] = 0 

     if response.status == 301 or response.status == 302 or response.status == 305 or response.status == 307 or response.status == 308: 
      item['redirects'] += 1 

Fondamentalement, je veux compter tous les 300 réoriente

+1

Define "plus petit". Votre objectif est-il de réduire la complexité/l'exécution de votre code ou voulez-vous seulement que le texte écrit/taille de fichier diminue ("minify")? –

+0

Je vote pour clore cette question hors-sujet parce qu'elle demande de réduire le code de travail. Cela peut être une bonne question pour le site de révision de code à stackexchange. – dasblinkenlight

Répondre

1
if response.status in [301, 302, 305, 307, 308]: 
    item['redirects'] += 1 
1

Vous pouvez utiliser ci-dessous

if 301 <= response.status <= 308: 

Ou vous pouvez utiliser ci-dessous

if response.status in (301, 302, 305, 307, 308): 

Fondamentalement, tout 3xx est considéré comme un redirect code lié

+0

merci de votre aide – Omega