เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การอ้างอิงตัวเองแบบ Class

คงสังเกตเห็นแล้วว่าภายใน spider class เราจะส่งอาร์กิวเมนต์ self เข้าไปในเมธอด start_requests และ parse เสมอ (ลองดูในโค้ดตัวอย่างของแบบฝึกหัดนี้ได้เลย) สิ่งนี้ช่วยให้เราอ้างอิงถึงเมธอดต่าง ๆ ภายใน class เดียวกันได้ กล่าวคือ หากต้องการอ้างถึงเมธอด parse จากภายในเมธอด start_requests เราต้องเขียน self.parse ไม่ใช่แค่ parse การเขียน self เป็นการบอกโค้ดว่า "ให้มองหาเมธอดชื่อ parse ภายใน class เดียวกับ start_requests"

ในแบบฝึกหัดนี้ จะได้ลองใช้งาน "การอ้างอิงตัวเอง" นี้ด้วยตัวเอง

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Web Scraping ด้วย Python

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใส่ออบเจกต์ scrapy ที่จำเป็นลงใน class YourSpider เพื่อสร้าง scrapy spider
  • ส่งสตริง "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 )
แก้ไขและรันโค้ด