始める無料で始める

自己参照はクラスの基本

スパイクラスの中では、start_requestsparse メソッドに常に引数 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 )
コードを編集して実行