[Selenium] Element를 이용하여 Text 데이터 가져오기 (온도 데이터 가져오기) [Data Crawling] [2]
2021. 12. 21. 23:33ㆍData Crawling
반응형
[ Data Crawling ]
이번 포스팅은 Web에서 Text 데이터를 읽어오는 방법에 대해서 포스팅을 하겠습니다.
※ 해당 포스팅은 Chrome browser 기준으로 진행하였습니다.
이번 포스팅의 코드는 아래 링크의 코드를 활용하였습니다.
[ 설명 ]
예제로 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
반응형