Selector'larla Yanıtlamak
Bu noktada Selector ile Response nesneleri arasındaki ilişki hakkında vurgulamamız gereken bir şey var: her iki nesne de, öğelere yönelmek için xpath veya css yöntemleri kullanıldığında bir SelectorList döndürür. Bu egzersizde bunu kanıtlayacağız: senden, sınıfı course-block__link olan tüm köprü (hyperlink) öğelerini bulmanı (çift alt çizgiye dikkat!) ve bunu yapınca üretilen nesneye bakmanı isteyeceğiz.
Bir öğeyi sınıfa göre bulmak için nokta (.) kullanabileceğini anımsa. Örneğin, div.class-2, class-2 sınıfına ait tüm div öğelerini seçer.
Aynı "gizli" web sitesinin içeriğiyle önceden yüklenmiş bir response adlı Response nesnesi ve sel adlı bir Selector nesnesi sağladık. Bir CSS Bulucu oluşturma görevini tamamladıktan sonra, response.css ve selector.css çıktılarının aslında aynı olduğunu karşılaştırarak göreceksin!
Bu egzersiz
Python ile Web Scraping
kursunun bir parçasıdırEgzersiz talimatları
css_locatordeğişkenine, sınıfıcourse-block__linkolan tümaköprü öğelerine yönelen bir CSS Bulucu dizgesi ata.response_asdeğişkenine,css_locatordeğişkeniniresponseiçindekicssyöntemine geçirmenin çıktısını ata.sel_asdeğişkenine,css_locatordeğişkeniniseliçindekicssyöntemine geçirmenin çıktısını ata.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Create a CSS Locator string to the desired hyperlink elements
css_locator = ____
# Select the hyperlink elements from response and sel
response_as = ____
sel_as = ____
# Examine similarity
nr = len( response_as )
ns = len( sel_as )
for i in range( min(nr, ns, 2) ):
print( "Element %d from response: %s" % (i+1, response_as[i]) )
print( "Element %d from sel: %s" % (i+1, sel_as[i]) )
print( "" )