Selector로 Response 다루기
여기서 강조하고 싶은 점은 Selector와 Response 객체의 관계예요. 두 객체 모두 요소를 지정할 때 xpath 또는 css 메서드를 사용하면 SelectorList를 반환합니다. 이 연습 문제에서는 클래스가 course-block__link인 모든 하이퍼링크 요소(밑줄이 두 개인 것에 주의!)를 찾아보고, 그렇게 했을 때 어떤 객체가 생성되는지 확인해 보며 이를 직접 증명해 볼 거예요.
클래스로 요소를 찾으려면 마침표(.)를 쓸 수 있다는 점을 기억하세요. 예를 들어, div.class-2는 class-2 클래스에 속한 모든 div 요소를 선택합니다.
동일한 "비밀" 웹사이트의 콘텐츠로 채운 response라는 이름의 Response 객체와 sel이라는 이름의 Selector 객체를 미리 로드해 두었어요. CSS Locator를 만든 뒤에는 response.css와 selector.css의 출력을 비교하여, 실질적으로 동일함을 확인해 보세요!
이 연습은 강의의 일부입니다
Python으로 하는 웹 스크레이핑
연습 안내
- 변수
css_locator에 클래스가course-block__link인 모든 하이퍼링크a요소를 가리키는 CSS Locator 문자열을 할당하세요. - 변수
response_as에response의css메서드에css_locator변수를 전달한 출력을 할당하세요. - 변수
sel_as에sel의css메서드에css_locator변수를 전달한 출력을 할당하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# 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( "" )