Selbstreferenzierung ist klasse
Du hast wahrscheinlich bemerkt, dass wir in der Spider-Klasse in den Methoden start_requests und parse immer das Argument self eingeben (schau einfach in den Beispielcode in dieser Aufgabe). So können wir zwischen Methoden innerhalb der Klasse referenzieren. Wenn wir also innerhalb der Methode start_requests auf die Methode parse verweisen wollen, müssen wir self.parse und nicht nur parse schreiben. self sagt dem Code, was er tun soll: „Suche in der gleichen Klasse wie start_requests nach einer Methode namens parse, die du verwenden kannst.“
In dieser Aufgabe bekommst du die Gelegenheit, mit dieser „Selbstreferenzierung“ zu spielen.
Diese Übung ist Teil des Kurses
Web Scraping in Python
Anleitung zur Übung
- Füge das benötigte
scrapy-Objekt in die KlasseYourSpiderein, um denscrapy-Spider zu erstellen. - Übergib das String-Argument
"Hello World!", um die Lücke in der Methodestart_requestsauszufüllen und die Methodeprint_msgzu verwenden.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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 )