自我參照很有「類」
你可能已經注意到,在蜘蛛類別裡,我們在 start_requests 和 parse 方法都會放入參數 self(就看一下本練習的範例程式碼吧!)。這讓我們能在同一個類別中相互參照方法。也就是說,如果我們想在 start_requests 方法裡引用 parse 方法,就需要寫成 self.parse,而不是只寫 parse;加入 self 的作用是告訴程式碼:「到與 start_requests 相同的類別裡,找到名為 parse 的方法來用。」
在這個練習中,你會實際操作這種「自我參照」。
本練習屬於課程
Python 網頁爬蟲
練習說明
- 在類別
YourSpider中補上建立scrapy蜘蛛所需、繼承的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 )