自己参照はクラスの基本
スパイクラスの中では、start_requests と parse メソッドに常に引数 self を入れていることにお気づきでしょう(この演習のサンプルコードを見てください)。これは、クラス内のメソッド同士を参照できるようにするためです。つまり、start_requests メソッドの中で parse メソッドを参照したい場合、単に parse と書くのではなく self.parse と書く必要があります。self を書くことで、「start_requests と同じクラスの中から、parse という名前のメソッドを探して使ってください」とコードに伝えているのです。
この演習では、この「自己参照」を実際に試してみます。
この演習はコースの一部です
Pythonで学ぶWebスクレイピング
演習の手順
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 )