• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    미해결

한 함수에서 Request를 두번 쓰면 한번만 작동하는 문제 발생

19.10.14 15:19 작성 조회수 254

1

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

위와 같이 한 함수 내에서 Request를 두번 요청하는 경우 한번은 작동하지 않는 문제가 발생되는데 혹시 해결 방법을 아실까요/

답변 3

·

답변을 작성해보세요.

1

Seungmin Chu님의 프로필

Seungmin Chu

2020.05.27

안녕하세요, 위에 항목을 적용시

다음과 같은 에러가 뜹니다.

ModuleNotFoundError: No module named 'scrapy.dupefilter'

1

안녕하세요. 아마 URL이 중복되어서, request가 두번 요청이 안되는 것으로 보입니다. 각 URL을 보시면 corners.gmarket.co.kr 로 앞의 URL이 동일해서요.

이 부분은 강좌에서 설명한 부분이 있고, 첨부드린 프로젝트 코드에서도 확인해보실 수 있는데요.

settings.py 에서 다음 항목에 앞에 # 을 삭제해서, enable 하시면, 중복 URL에 대해서도 요청이 가능합니다.

감사합니다.

DUPEFILTER_CLASS = 'scrapy.dupefilter.RFPDupeFilter'

0

낄낄이드래곤님의 프로필

낄낄이드래곤

2020.08.21

DUPEFILTER_CLASS ='scrapy.dupefilters.BaseDupeFilter'

다음의 코드를 , setting.py 에 적용시켜 보세요! 

앙앙기모님의 프로필

앙앙기모

2021.11.20

감사합니다