반응형
이번에는 실행된 크롬에서 데이터를 가져오는 방법을 보자.
webdriver에는 find~로 시작하는 여러 함수들이 있다.
이 함수들이 실행된 브라우저에서 값을 찾는 역할을 수행한다.
css, xpath 등의 값을 이용할 수 있으며, 하나의 엘리먼트, 복수의 엘리먼트 검색이 가능하다.
ex)
driver.find_element_by_css_selector("Selector") | 하나의 엘리먼트 검색 |
driver.find_elements_by_css_selector("Selector") | 복수의 엘리먼트 검색 |
이렇게 검색된 엘리먼트에서 값을 가져오는 방법은 아래와 같다.
ex)
엘리먼트.text | 엘리먼트에 있는 텍스트 |
엘리먼트.get_attribute("AttributeName") | 엘리먼트에 있는 attribute 값 |
그럼 이를 이용하는 코드를 작성해보자.
수집 대상은 네이버뉴스의 이 시각 주요뉴스 타이틀들이다.
포스팅 작성하는 시점에 타이틀의 css는 ".newsnow_tx_inner" 이다.
from selenium import webdriver driver = webdriver.Chrome('chromedriver.exe') driver.get("http://news.naver.com/main/home.nhn") titleEles = driver.find_elements_by_css_selector(".newsnow_tx_inner") for title in titleEles : print(title.text)
# 코드 해석
3. 크롬 드라이버 로드
4. 네이버 뉴스 페이지로 이동
6. '이 시각 주요뉴스'의 엘리먼트를 수집 (복수)
7~8. 반복하며 타이틀 출력
잘 작성했다면 주요뉴스 10개의 타이틀이 출력되는 것을 볼 수 있다.
[ 이전 글 보기 ]
2018/02/11 - [Python] - [파이썬 크롤링] selenium을 이용해 크롤링하기1 (크롬 실행)
'Python' 카테고리의 다른 글
파이썬의 삼항 연산자 (0) | 2018.03.14 |
---|---|
selenium에서 Alert 제어 방법 (0) | 2018.03.13 |
[파이썬 크롤링] selenium을 이용해 크롤링하기3 (자바스크립트 사용) (0) | 2018.02.12 |
[파이썬 크롤링] selenium을 이용해 크롤링하기1 (크롬 실행) (0) | 2018.02.11 |