Tarayıcı Zamanı
Bu, siteler arasında dolaşacak (önce bir siteden bağlantıları toplayıp, ardından bu bağlantıları takip ederek yeni siteleri ayrıştıracak) bir spider ile ilk kez oynama şansın olacak. Bu spider, kısaltılmış DataCamp kurs dizininden başlıyor, sonra parse metodunda kursların bağlantılarını çıkarıyor; buradan, bu bağlantıları takip ederek her kurs sayfasından parse_descr metodunda kurs açıklamalarını çıkarıyor ve bu açıklamaları course_descrs listesine koyuyor. Görevin, spider’ın istenildiği gibi çalışması için kodu tamamlamak!
Doğru yaptıysan kazıdığın kurs açıklamalarından birini yazdıracak inspect_spider adlı bir fonksiyon oluşturduk!
Bu egzersiz
Python ile Web Scraping
kursunun bir parçasıdırEgzersiz talimatları
- Aşağıdaki iki boşluğu (her ayrıştırma metodunda birer tane) uygun girdilerle doldur; böylece spider ilk ayrıştırma metodundan ikinciye doğru şekilde geçebilsin.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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 )