셀레니움

Study/Python

[Selenium] 페이지를 스크롤하며 무한 크롤링 하기

이번에는 페이지 스크롤 기능을 사용하여 로딩되는 대상들을 크롤링해 보았다. 생각보다 뜻대로 되지 않아 오래 걸렸다.. 스크롤 방법 스크롤 방법에는 간단하게 3가지 방법이 있다고 한다. 1. 페이지의 높이를 계산해서 최하단으로 이동하는 방법. 2. 키보드의 PAGE_DOWN이나 END, 아래 화살표 키를 반복적으로 눌러 페이지를 내려가는 방법 3. ActionChains의 move_to_element를 이용하여 하단의 요소로 이동하는 방법 1번은 로딩시간이 걸릴 때 오류가 생길 수 있기 때문에 시간 텀을 주어야 한다. 3번은 크롤링할 대상인 페이지에서 최하단의 요소를 찾기 힘들었다.. 따라서 2번의 방법으로 구현해 보았다. from selenium.webdriver.common.keys import Key..

Study/Python

Selenium을 활용한 동적 크롤링 링크 주소 가져오기

이전에는 크롤링 대상 태그를 찾고, 해당 태그의 Text 값을 불러왔다. 이번에는 Text가 아닌 크롤링한 태그의 속성값을 불러오는 방법을 정리하려 한다. 1. 상품 이동 태그 찾기 네이버 도착 보장 서비스에서는 해당 상품의 이미지, 가격 등 어느 부분을 클릭해도 해당 상품의 자세한 링크로 이동할 수 있다. 링크로 이동되는 html 태그는 a태그를 사용한다. 따라서 a태그를 가진 부분의 셀렉터를 찾아주면 된다. a태그를 Control + SHIFT + C 를 사용해서 찾아주었다. 우측의 html 문서를 보면 저번에 찾아두었던 ul 태그부터 ul > li > div > a 경로에 a태그가 존재하는 것을 확인할 수 있다. 따라서 저번에 찾아둔 경로에서 ul > li > div > a 경로를 셀렉터로 지정해 ..

Study/Python

Selenium을 활용한 네이버 쇼핑 품목 동적 크롤링

이전 게시물에서 기본 환경 세팅을 완료했다. 이번에는 셀레니움을 활용해서 최근 네이버에서 새롭게 시작한 서비스인 도착 보장 서비스의 인기 품목과 가격을 크롤링해보자. 1. 크롤링할 태그 찾기 크롤링을 하기 위해서는 원하는 품목의 위치를 찾아주어야 한다. 먼저 네이버 쇼핑 실시간 도착보장 홈페이지를 들어가 보자. 다음과 같이 품목들이 나열되어 있고, 스크롤을 하게 되면 더 많은 품목이 로드된다. 나는 css_selector를 통해 크롤링할 품목을 검색해 보았다. 먼저 F12를 통해 개발자 도구를 열어준다. 다음과 같이 개발자 도구 창을 뜬다면 크롤링할 요소를 찾아줄 도구를 선택한다. 우측 개발자 도구의 최상단 가장 왼쪽의 마우스 모양의 아이콘을 클릭해 주면 된다. (단축키 Control + Shift + ..

ddingmin00
'셀레니움' 태그의 글 목록