목차
- 파이썬 크롬 크롤링을 위한 Seleninum 모듈 설치 예제 이전 포스팅 참고 학습
- 파이썬 Seleninum find_element로 특정 태그 텍스트 가져오기 예제 이전 포스팅 참고 학습
- 파이썬 Seleninum execute_script로 스크롤 내리고 올리기 예제 이전 포스팅 참고 학습
- 파이썬 Seleninum 클래스명으로 텍스트 가져오기 예제(class_name)
- 파이썬 네이버 뉴스 타이틀 가져오기 예제
파이썬 크롬 크롤링을 위한 Seleninum 모듈 설치 예제 이전 포스팅 참고 학습
웹 페이지의 정보를 수집하기 위해서는 Selenium 모듈을 설치해야 합니다. 이전 포스팅에서는 어떻게 Selenium을 설치하고 설정하는지 자세한 예제가 포함되어있습니다.
아직 모듈이 설치되어있지 않으시다면 아래 링크를 참고해주세요.
2023.08.18 - [Python] - [Python] 파이썬 크롬 크롤링 Selenium 설치여부 확인 및 설치 예제
파이썬 Seleninum find_element로 특정 태그 텍스트 가져오기 예제 이전 포스팅 참고 학습
웹 페이지에서 원하는 데이터를 가져오려면 특정 태그의 텍스트를 추출해야 합니다. 이전 포스팅에서는 find_element 메소드를 사용하여 웹 요소에 접근하고 텍스트를 추출하는 방법에 대해 알아보았습니다.
find_element 사용법을 아직 모르신다면 아래 링크를 참고하여 학습해주세요.
2023.08.21 - [Python] - [Python] 파이썬 크롬 Selenium 활용 페이지 내의 아이템 가져오기 예제(find_element)
파이썬 Seleninum execute_script로 스크롤 내리고 올리기 예제 이전 포스팅 참고 학습
웹 페이지에서 많은 양의 정보를 수집해야 할 때, 스크롤을 내리거나 올리는 작업이 필요할 수 있습니다. 이전 포스팅에서는 execute_script 명령을 사용하여 페이지 스크롤을 어떻게 조작하는지 알아보았습니다.
스크롤을 올리고 내리는 작업이 필요하시다면 아래 링크를 참고하시면 좋을 것 같습니다.
2023.08.21 - [Python] - [Python] 파이썬 크롬 Selenium 활용 스크롤 내리고 올리기 예제(execute_script)
파이썬 Seleninum 클래스명으로 텍스트 가져오기 예제(class_name)
웹 페이지에서 특정 클래스명을 가진 요소의 텍스트를 가져오는 방법을 다루어보겠습니다. find_element의 클래스명 기준으로 웹 요소의 텍스트를 추출하는 예제를 알아보도록 하겠습니다.
아래는 cjs_d라는 이름의 텍스트를 가져오는 예제입니다.
from selenium import webdriver
# 크롬 브라우저를 사용하여 WebDriver 객체 생성
driver = webdriver.Chrome()
# 네이버 뉴스 페이지 열기
url = "https://news.naver.com"
driver.get(url)
# 뉴스 타이틀 요소 가져오기
news_titles = driver.find_elements("class name", "cjs_d")
print(news_titles[0].text)
파이썬 네이버 뉴스 타이틀 가져오기 예제
네이버 뉴스 페이지에서 뉴스 타이틀을 가져오는 방법을 실제로 알아보겠습니다. 앞서 확인한 방법들을 활용하여 네이버 뉴스 페이지의 정보를 크롤링하고 출력하는 예제를 알아보겠습니다.
아래는 cjs_d라는 클래스를 모두 가져와 for 반복문으로 텍스트를 출력하는 예제입니다.
from selenium import webdriver
from selenium.webdriver.common.by import By
# 크롬 브라우저를 사용하여 WebDriver 객체 생성
driver = webdriver.Chrome()
# 네이버 뉴스 페이지 열기
url = "https://news.naver.com"
driver.get(url)
news_titles = driver.find_elements("class name", "cjs_d")
for idx, news_title in enumerate(news_titles, start=1):
print(f"{idx}. {news_title.text}")