• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    미해결

질문드립니다!

20.08.04 11:36 작성 조회수 151

0

DEBUG: Filtered duplicate request: <GET http://corners.gmarket.co.kr/Bestsellers> - no more duplicates will be shown (see DUPEFILTER_DEBUG to show all duplicates)

마지막 G마켓 크롤링 예재에서 세부카테고리(subcategory)를 크롤링할때 동일한 for문을 2번 작성하여 위와 같은 duplicate오류가 발생하는것을 확인했습니다. 이에, request 안에 dont_filter = True처리를 해주어서 처리를 하였더니 정상적으로 출력이 되었습니다. 

혹시 선생님께서는 DUPEFILTER_DEBUG의 default값을 FALSE로 설정해 놓으셔서 별도로 코드 작성없이 정상적으로 실행이 되신건가요???

또한 혹시 만약에 INFINITE LOOP안에서 크롤링을 해야하는 경우는 위와 같이 duplicate처리를 어떻게 하면 좋을까요???

답변 1

답변을 작성해보세요.

0

안녕하세요.

몇가지 테스트를 해봤는데, 저는 관련된 에러는 안나는 것으로 보여요. 제가 강의에서 작성한 코드를 그대로 실행하신 것인지, 추가로 어떤 코드를 넣으신 것인지 궁금해요.

기본적으로 강의 중간에 설명드린대로 settings.py 파일에 다음과 같은 셋팅값을 넣으면, duplicate request 도 처리를 할 텐데요.

DUPEFILTER_CLASS = 'scrapy.dupefilters.BaseDupeFilter'

말씀하신대로 request 안에 dont_filter = True 으로 하셔도 됩니다. 더 괜찮은 방법이기도 하다는데, 특별한 차이는 느낄 수 없어서, 간편하게 위의 설정으로 사용하고 있습니다.

감사합니다.