강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

김지윤님의 프로필 이미지
김지윤

작성한 질문수

현존 최강 크롤링 기술: Scrapy와 Selenium 정복

실전 크롤링: 지마켓 크롤링하며, scrapy 실전 활용법 익히기5

filtered duplicate request 오류

작성

·

368

1

        #sub category

        for index, category_link in enumerate(category_links):

            yield scrapy.Request(url='http://corners.gmarket.co.kr'+category_link,callback=self.parse_subcategory,meta={'maincategory_name':category_names[index]})

        #main category

        for index, category_link in enumerate(category_links):

            yield scrapy.Request(url='http://corners.gmarket.co.kr'+category_link,callback=self.parse_items,meta={'maincategory_name':category_names[index]})

maincategory크롤링 부분만 실행했을 때는 잘 실행되는데 subcategory 크롤링 부분을 추가로 넣어서 실행시키면 scrapy.dupefilters가 뜨면서 no more dupelicates will be shown 이라는 문구가 뜨면서 아예 parse_subcategory함수로 넘어가지 않습니다. 구글링 해서 찾아보니 dont_filter = True를 Request 객체 안에 넣어주니 되긴 하던데 

왜 이런 현상이 발생 되는지 알 수 있을까요??

답변 1

0

안녕하세요. 기본적으로 동일한 URL 이 포함되어 있는 request 를 1회 이상 못하도록 설정되어 있어서 그렇습니다.

 이 부분에 대해서는 프로젝트 코드와 영상에서 다음 설정을 settings 쪽에서 다음 설정을 통해, 1회 이상 request 를 할 수 있도록 만드는 부분에 대해 설명을 드린 것 같습니다.

DUPEFILTER_CLASS = 'scrapy.dupefilters.BaseDupeFilter'

추가로, 추후부터는 다음 공지사항을 확인하셔서, 질문하실 때 가능하다면, 어느 챕터 강의의 최소 몇 분 정도의 영상을 꼭좀 알려주시면 좀더 맥락을 이해하고 답변드리겠습니다.  감사합니다.~

-----------

안녕하세요. 잔재미코딩 Dave Lee 입니다.

다음이 아니라, 질문시 한가지 꼭 확인부탁드리고자 공유드립니다.

질문하실 때 가능하다면, 어느 챕터 강의의 최소 몇 분 정도의 영상을 꼭좀 알려주시면 좋겠어서요.

제가 모든 영상을 분단위로 기억하기는 어려운데요.

이런 정보가 없는 질문에 대해 답변을 할 때는, 답변에 들이는 시간보다, 어떤 맥락에서 어느 영상의 어떤 코드에서 질문을 하시는 것인지를 찾는데 훨씬 시간이 많이 듭니다. 

그러다보니, 더 설명을 잘해드리기 어려울 때도 많거든요.

그래서, 꼭 좀 질문하실 때 가능하다면, 

어느 챕터 강의의 최소 몇 분 정도의 영상을 꼭좀 알려주시면 감사하겠습니다.

감사합니다.

김지윤님의 프로필 이미지
김지윤

작성한 질문수

질문하기