• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    해결됨

scrapy option질문

22.07.30 21:02 작성 조회수 155

1

안녕하세요 우선 scrapy관련 강의 감사합니다

질문1)아래 option -o와 -t는 어떤약자이며 기능이 어떻게될까요?? 공식 문서 사이트나 구글링해도 잘안나와서 질문드립니다  object와 type인가요??

질문2) yield와 return의차이??

scrapy를 사용하면서 처음으로 yield라는 함수를써봤습니다 강의중 말씀하신 병렬 쓰레드처리? 때문에 return이아닌 yield를 사용해야 되는 걸까요?? yield는 보통 어떤 경우에 사용하는지 궁금합니다 

 

답변 1

답변을 작성해보세요.

1

안녕하세요. 답변도우미입니다.

 

우선, 어떤 프로그램 또는 프레임워크를 개발하는 개발자가 옵션을 정의할 때, 꼭 각 옵션이 어떤 약자에서 유추했는지를 정의 안하는 경우는 많거든요. 그래서, 모든 옵션이 꼭 어떤 약자에서 공식적으로 나온 것이라고 이야기하기는 어렵다고 보셔도 좋을 것 같습니다. 아마도 말씀하신 object, type 에서 개발자가 생각하지 않았을까 생각은 합니다.

 

yield 는 파이썬에서 제공하는 문법중 하나이고요. 보통은 제너레이터에서 많이 사용합니다. 상세한 설명은 다음 링크에서 가장 잘 되어 있는 것 같아서, 이 부분을 참고해보시면 어떠실까해요. scrapy 에서 특정 구문에 yield 를 써주는 것은 scrapy 프레임워크 개발자가 정의한 부분이라고 보시면 좋을 것 같습니다. 개발자가 특정 부분에서는 yield 로 호출을 해주어야, scrapy 내부적으로 이를 받아서, 내부 처리를 하도록 구현을 해놓은 것이라고 이해하시면 좋을 것 같습니다.

https://dojang.io/mod/page/view.php?id=2412

 

scrapy 라는 것도 개발자가 만든 하나의 프로그램이거든요. 저희도 별도의 프레임워크를 다 각자 만들 수 있고요. 그 프레임워크를 사용하려면, 어떤 옵션을 이렇게 써라, 특정 클래스를 만들고, 특정 메서드를 꼭 정의한 후, 대신 yield 로 호출해줘라 라고 정의할 수 있습니다. 이와 같이 생각해주시면, 좀더 가볍게 이해하실 수 있으실 것 같습니다.

 

감사합니다.