2017-10-04 2 views
0

작은 코드에서이 작업을 수행 할 수있는 방법이 있습니까?치료 방법 300 개의 리디렉션을 모두 계산하는 방법

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 

은 기본적으로 내가 계산 할 모든 300 당신은

if 301 <= response.status <= 308: 

이하로 사용할 수 있습니다 또는 아래 사용할 수 있습니다

+1

는 "작은"정의로 간주됩니다. 귀하의 목표는 코드의 복잡성/런타임을 줄이거 나 쓰여진 텍스트/파일 크기를 줄이려면 ("축소") 원하십니까? –

+0

작업 코드를 작게 만들 것을 요청하기 때문에이 질문을 주제와 관련이 없도록 닫으려고합니다. 이것은 stackexchange의 코드 리뷰 사이트에 대한 적절한 질문 일 수 있습니다. – dasblinkenlight

답변

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

리디렉션

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

기본적으로 아무것도 3XX는 리디렉션 관련 코드

+0

도움에 감사드립니다. – Omega

관련 문제