[Selenium] Element를 이용하여 Text 데이터 가져오기 (온도 데이터 가져오기) [Data Crawling] [2]

2021. 12. 21. 23:33Data Crawling

반응형

[ Data Crawling ]

이번 포스팅은 Web에서 Text 데이터를 읽어오는 방법에 대해서 포스팅을 하겠습니다.

 

※ 해당 포스팅은 Chrome browser 기준으로 진행하였습니다.

이번 포스팅의 코드는 아래 링크의 코드를 활용하였습니다.

 

[Selenium] Python Web Crawling 위한 Browser 세팅하기 [Data Crawling] [1]

[ Data Crawling ] 이번 포스팅은 Data 수집 방법인 웹 크롤링에 대해서 포스팅을 할 것이고, 많은 웹 크롤링 방법중 Selenium을 활용하여 데이터 수집하는 방법에 대해서 포스팅을 하겠습니다. Selenium은

mr-doosun.tistory.com


[ 설명 ]

예제로 Naver에 온도데이터를 가져오도록 하겠습니다.

Ctrl+Shift+C 를 같이 누르시면, 아래 그림의 우측과 같이 개발자 도구 탭이 나옵니다.

그 상태로 온도 텍스트를 클릭하시면 해당 온도 텍스트의 위치를 알 수 있습니다.

해당 텍스트 데이터의 위치를 파악했다면 아래 그림과 같이 경로에 오른쪽키를 눌러 XPath 값을 가져옵니다.


(참고) 브라우저 세팅은 이전 포스팅에서 했음으로 생략하겠습니다.

우선 온도 데이터를 가져와줄 url을 호출 하여줍니다

# 브라우저에 URL 호출하기
driver.get(url='https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=1&ie=utf8&query=%EB%82%A0%EC%94%A8')

이전에 복사한 xpath값을 find_element_by_xpath 함수에 넣어줍니다.

그리고 해당 변수에 text를 출력해보면 해당 xpath의 text데이터 값을 받을 수 있습니다.

# 이전에 복사한 xpath값을 아래 함수에 붙여넣기 해줍니다.
# driver.find_element_by_xpath(XPATH)
temperature_xpath = driver.find_element_by_xpath('//*[@id="main_pack"]/section[1]/div[1]/div[2]/div[1]/div[1]/div/div[2]/div/div[1]/div[2]/strong')
temperature = temperature_xpath.text

print(temperature)

[ 결과 ]

현재 온도
4°

이상 포스팅을 마치겠습니다.


[ 완성된 코드 ]

https://github.com/Mr-DooSun/Selenium-WebCrawling/tree/main/Ex2_read_text

 

GitHub - Mr-DooSun/Selenium-WebCrawling

Contribute to Mr-DooSun/Selenium-WebCrawling development by creating an account on GitHub.

github.com

 

반응형