Svar med Selectors
Nu är det dags att lyfta fram en viktig sak om förhållandet mellan Selector- och Response-objekt: båda returnerar en SelectorList när du använder metoderna xpath eller css för att navigera till element. I den här övningen får du bevisa det själv – du ska hitta alla hyperlänkselement som tillhör klassen course-block__link (notera det dubbla understrecket!) och undersöka vilket objekt som produceras.
Kom ihåg att du hittar ett element efter klass med hjälp av en punkt (.). Till exempel väljer div.class-2 alla div-element som tillhör class-2.
Vi har förinstallerat ett Response-objekt med namnet response och ett Selector-objekt med namnet sel, båda med innehåll från samma "hemliga" webbplats. När du har skapat CSS-lokaliseraren jämför du utdata från response.css och selector.css – och ser att de är i princip identiska!
Den här övningen är en del av kursen
Webbskrapning i Python
Övningsinstruktioner
- Tilldela variabeln
css_locatoren CSS-lokaliseringssträng som pekar ut alla hyperlänkselementasom tillhör klassencourse-block__link. - Tilldela variabeln
response_asresultatet av att skicka variabelncss_locatortill metodencssiresponse. - Tilldela variabeln
sel_asresultatet av att skicka variabelncss_locatortill metodencssisel.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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( "" )