Self Referencing is Classy
아마 눈치채셨겠지만, 스파이더 클래스 안에서 start_requests와 parse 메서드에는 항상 인자 self를 넣어요(이번 연습 문제의 샘플 코드를 확인해 보세요!). 이렇게 하면 클래스 내부의 메서드들끼리 서로 참조할 수 있어요. 예를 들어 start_requests 메서드 안에서 parse 메서드를 가리키려면 그냥 parse가 아니라 self.parse라고 써야 해요. self를 붙인다는 건 코드에 “start_requests와 같은 클래스 안에서 parse라는 메서드를 찾아서 사용해”라고 알려 주는 거죠.
이번 연습에서는 이런 "self 참조(self referencing)"를 직접 다뤄 보겠습니다.
이 연습은 강의의 일부입니다
Python으로 하는 웹 스크레이핑
연습 안내
scrapy스파이더를 만들기 위해 필요한 클래스YourSpider에 필수scrapy객체를 채워 넣으세요.start_requests메서드의 빈칸에 문자열 인자"Hello World!"를 넘겨print_msg메서드를 사용하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Import scrapy library
import scrapy
# Create the spider class
class YourSpider( ____ ):
name = "your_spider"
# start_requests method
def start_requests( self ):
self.print_msg( ____ )
# parse method
def parse( self, response ):
pass
# print_msg method
def print_msg( self, msg ):
print( "Calling start_requests in YourSpider prints out:", msg )
# Inspect Your Class
inspect_class( YourSpider )