캐시 설정은 같은 요청을 반복할 때 상대 서버에 가는 부하를 줄일 수 있다. HTTP 캐시 설정을 활성화하면 첫 요청을 제외하고는 대상 서버가 아닌 저장된 캐시를 활용하게 된다. 또한 응답을 캐시에서 받으면 요청 사이에 대기 시간이 들어가지 않으므로 빠른 처리가 가능하다.
1. HTTP 요청
- USER_AGENT(기본값 "Scrapy/VERSION (+https://scrapy.org)")
공식 문서: docs.scrapy.org/en/latest/topics/settings.html?highlight=user_agent#user-agent
- COOKIES_ENABLED(기본값 Trure)
쿠키 활성화 여부
- COOKIES_DEBUG(기본값 False)
True로 지정하면 쿠키를 로그에 출력
- REFERER_ENABLED(기본값 False)
요청에 레퍼러 헤더를 자동으로 포함할지 여부
- DEFAULT_REQUESTS_HEADERS(기본값 True)
HTTP 요청에 기본적으로 포함될 헤더를 dict로 지정
2. HTTP 캐시 설정
- HTTPCACHE_ENABLED(기본값 False)
캐시 활성화 여부
- HTTPCACHE_EXPIRATION_SECS(기본값 0)
캐시 유효 기간(단위 초, 0은 무한)
- HTTPCACHE_DIR(기본값 httpcache)
캐시 저장 디렉토리 경로
- HTTPCACHE_IGNORE_HTTP_CODES(기본값 [])
응답을 캐시하지 않을 HTTP 상태 코드를 리스트로 지정
- HTTPCACHE_IGNORE_SCHEMES(기본값 ['file'])
응답을 캐시하지 않을 URL 스키마를 리스트로 지정
- HTTPCACHE_IGNORE_MISSING(기본값 False)
True로 지정하면 요청이 캐시되어 있지 않은 경우 요청 무시
- HTTPCACHE_POLICY(기본값 scrapy.extensions.httpcache.DummyPolicy)
캐시 정책을 나타내는 클래스
기본적으로 모든 응답을 캐시
'Crawling' 카테고리의 다른 글
[크롤링/14]Scrapy로 Javascript 사용한 페이지 크롤링하기(Splash) (1) | 2021.03.25 |
---|---|
[크롤링/13]Scrapy 오류 처리 설정 (0) | 2021.03.25 |
[크롤링/11]Scrapy 병렬 처리 설정 (2) | 2021.03.25 |
[크롤링/10]Scrapy로 크롤링 대상 사이트에 피해주지 않는 설정하기 (0) | 2021.03.25 |
[크롤링/09]크롤러 분류 (0) | 2021.03.25 |