Začněte nyníZačněte zdarma

Čas pro crawler

Tady máš první příležitost si pohrát s pavoukem, který bude procházet mezi stránkami (nejprve sebere odkazy z jedné stránky a pak je sleduje, aby zpracoval nové stránky). Pavouk začíná ve zkráceném adresáři kurzů DataCampu, v metodě parse extrahuje odkazy na jednotlivé kurzy a pak tyto odkazy sleduje, aby z každé stránky kurzu vytáhl popisy v metodě parse_descr — ty pak ukládá do seznamu course_descrs. Tvým úkolem je doplnit kód tak, aby pavouk fungoval správně!

Připravili jsme funkci inspect_spider, která vypíše jeden ze sesbíraných popisů kurzu (pokud vše uděláš správně)!

Toto cvičení je součástí kurzu

Web Scraping v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Doplň dvě chybějící místa níže (jedno v každé z metod pro parsování) tak, aby pavouk mohl správně přejít z první metody parsování do druhé.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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 )
Upravit a spustit kód