開始爬行
這是你第一次實際操作能在網站之間爬行的蜘蛛(先從一個網站收集連結,再沿著這些連結去剖析新的網站)。這個蜘蛛會從縮短版的 DataCamp 課程目錄開始,在 parse 方法中擷取課程的連結;接著,它會追蹤這些連結,在 parse_descr 方法中從各課程頁面擷取課程描述,並把這些描述放進清單 course_descrs。你的任務是補齊程式碼,讓蜘蛛能按預期執行!
我們已經建立好 inspect_spider 函式,若你做對了,它會列印出你爬到的其中一個課程描述!
本練習屬於課程
Python 網頁爬蟲
練習說明
- 在下面的兩個空格處(各在一個剖析方法中)填入正確的參數,讓蜘蛛能正確地從第一個剖析方法移動到第二個。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# 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 )