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

ถึงเวลาใช้ Crawler

นี่คือโอกาสแรกที่จะได้ลองใช้ spider ที่สามารถ crawl ข้ามเว็บไซต์ได้ โดยเริ่มจากการรวบรวมลิงก์จากเว็บหนึ่ง แล้วติดตามลิงก์เหล่านั้นเพื่อดึงข้อมูลจากเว็บอื่นต่อไป spider ตัวนี้จะเริ่มต้นที่ไดเรกทอรีคอร์สของ DataCamp เวอร์ชันย่อ จากนั้นดึงลิงก์ของคอร์สต่าง ๆ ในเมธอด parse แล้วติดตามลิงก์เหล่านั้นเพื่อดึงคำอธิบายคอร์สจากแต่ละหน้าในเมธอด parse_descr และเก็บคำอธิบายเหล่านั้นไว้ในลิสต์ course_descrs หน้าที่ของคุณคือเติมโค้ดให้ครบเพื่อให้ spider ทำงานได้ตามต้องการ!

เราได้สร้างฟังก์ชัน inspect_spider ไว้ให้แล้ว ซึ่งจะพิมพ์คำอธิบายคอร์สที่ scrape ได้ออกมา (หากทำได้ถูกต้อง)!

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

Web Scraping ด้วย Python

ดูคอร์ส

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

  • เติมช่องว่างสองช่องด้านล่าง (ช่องละหนึ่งช่องในแต่ละเมธอดการ parse) ด้วยค่าที่เหมาะสม เพื่อให้ spider สามารถเคลื่อนจากเมธอดการ parse แรกไปยังเมธอดที่สองได้อย่างถูกต้อง

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Import the scrapy library
import scrapy

# Create the Spider class
class DCdescr( scrapy.Spider ):
  name = 'dcdescr'
  # start_requests method
  def start_requests( self ):
    yield scrapy.Request( url = url_short, callback = self.parse )
  
  # First parse method
  def parse( self, response ):
    links = response.css( 'div.course-block > a::attr(href)' ).extract()
    # Follow each of the extracted links
    for link in links:
      yield ____
      
  # Second parsing method
  def parse_descr( ____ ):
    # Extract course description
    course_descr = response.css( 'p.course__description::text' ).extract_first()
    # For now, just yield the course description
    yield course_descr


# Inspect the spider
inspect_spider( DCdescr )
แก้ไขและรันโค้ด