Autoreferențierea e o chestie de clasă
Probabil ai observat că în cadrul clasei spider, transmitem întotdeauna argumentul self în metodele start_requests și parse (aruncă o privire la codul exemplu din acest exercițiu!). Acest lucru ne permite să facem referire între metode în interiorul aceleiași clase. Astfel, dacă vrem să apelăm metoda parse din cadrul metodei start_requests, trebuie să scriem self.parse în loc de simplu parse; ceea ce face self este să îi spună codului: „Caută în aceeași clasă ca start_requests o metodă numită parse pe care să o folosești."
În acest exercițiu vei avea ocazia să explorezi această „autoreferențiere".
Acest exercițiu face parte din cursul
Web Scraping în Python
Instrucțiuni pentru exercițiu
- Completează obiectul
scrapynecesar în clasaYourSpiderpentru a crea spider-ulscrapy. - Transmite argumentul de tip șir
"Hello World!"pentru a completa spațiul liber din metodastart_requests, astfel încât să fie utilizată metodaprint_msg.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Import scrapy library
import scrapy
# Create the spider class
class YourSpider( ____ ):
name = "your_spider"
# start_requests method
def start_requests( self ):
self.print_msg( ____ )
# parse method
def parse( self, response ):
pass
# print_msg method
def print_msg( self, msg ):
print( "Calling start_requests in YourSpider prints out:", msg )
# Inspect Your Class
inspect_class( YourSpider )