การอ้างอิงตัวเองแบบ Class
คงสังเกตเห็นแล้วว่าภายใน spider class เราจะส่งอาร์กิวเมนต์ self เข้าไปในเมธอด start_requests และ parse เสมอ (ลองดูในโค้ดตัวอย่างของแบบฝึกหัดนี้ได้เลย) สิ่งนี้ช่วยให้เราอ้างอิงถึงเมธอดต่าง ๆ ภายใน class เดียวกันได้ กล่าวคือ หากต้องการอ้างถึงเมธอด parse จากภายในเมธอด start_requests เราต้องเขียน self.parse ไม่ใช่แค่ parse การเขียน self เป็นการบอกโค้ดว่า "ให้มองหาเมธอดชื่อ parse ภายใน class เดียวกับ start_requests"
ในแบบฝึกหัดนี้ จะได้ลองใช้งาน "การอ้างอิงตัวเอง" นี้ด้วยตัวเอง
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Web Scraping ด้วย Python
คำแนะนำการฝึกหัด
- ใส่ออบเจกต์
scrapyที่จำเป็นลงใน classYourSpiderเพื่อสร้างscrapyspider - ส่งสตริง
"Hello World!"เพื่อเติมในช่องว่างของเมธอดstart_requestsให้ใช้งานเมธอด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 )