爬虫时间
这是您第一次动手编写一个会在站点之间爬取的 spider(先从一个站点收集链接,再跟随这些链接去解析新的页面)。这个 spider 从简化版的 DataCamp 课程目录开始,在 parse 方法中提取课程链接;随后它会跟随这些链接,在 parse_descr 方法中从每个课程页面提取课程描述,并将这些描述加入列表 course_descrs。您的任务是补全代码,让这个 spider 按预期运行!
我们已创建函数 inspect_spider,如果您做对了,它会打印出您抓取到的其中一个课程描述!
本练习是课程的一部分
Python Web 爬取
练习说明
- 在下面两个解析方法中各填一个空,用合适的参数让 spider 能够从第一个解析方法正确跳转到第二个。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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 )