ПочатиПочніть безкоштовно

Час краулера

Це ваша перша спроба попрацювати зі спайдером, який переходить між сторінками (спочатку збирає посилання з однієї сторінки й переходить за ними, щоб розбирати нові сторінки). Цей спайдер починає зі скороченого каталогу курсів 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 )
Редагувати та запускати код