파이썬으로 웹 스크래핑하기: Selenium과 BeautifulSoup를 함께 사용하기
많은 웹 사이트에서 데이터를 추출하기 위해 웹 스크래핑은 매우 유용한 기술이다. 특히 파이썬을 사용하면 웹 스크래핑을 더욱 빠르고 효과적으로 수행할 수 있다. 이번 포스팅에서는 Selenium과 BeautifulSoup를 함께 사용하여 파이썬으로 웹 스크래핑하는 방법에 대해 알아보겠다.
1. Selenium과 BeautifulSoup 소개
- Selenium: 웹 브라우저를 자동화하기 위한 도구로, 사용자가 직접 브라우저를 제어하면서 웹 스크래핑을 할 수 있다.
- BeautifulSoup: HTML과 XML 문서를 파싱하고, 트리 구조로 변환하여 데이터를 추출하기 위한 라이브러리다.
2. Selenium 설치하기
Selenium은 기본적으로 pip로 설치할 수 있다. 아래의 명령어로 설치해보자.
bash
pip install selenium
또한, 웹 브라우저의 드라이버도 필요하다. 예를 들어, 크롬을 사용한다면 크롬 드라이버 다운로드 페이지에서 드라이버를 다운로드 받아야 한다.
3. BeautifulSoup 설치하기
BeautifulSoup 역시 pip로 설치할 수 있다. 아래의 명령어로 설치하자.
bash
pip install beautifulsoup4
4. Selenium과 BeautifulSoup를 함께 사용하는 방법
4.1. Selenium으로 웹 페이지 열기
먼저, Selenium을 사용하여 웹 페이지를 열어보자. 다음은 크롬 브라우저를 열고 Google 홈페이지로 이동하는 예제 코드다.
```python from selenium import webdriver
크롬 드라이버 경로 지정
driver = webdriver.Chrome('./chromedriver')
웹 페이지 열기
driver.get('https://www.google.com') ```
4.2. BeautifulSoup으로 웹 페이지 추출하기
이제 Selenium으로 열은 웹 페이지의 HTML 소스를 BeautifulSoup을 사용하여 추출할 수 있다. 아래의 예제 코드를 확인해보자.
```python from bs4 import BeautifulSoup
페이지 소스 가져오기
html = driver.page_source
BeautifulSoup으로 변환
soup = BeautifulSoup(html, 'html.parser')
원하는 데이터 추출
title = soup.find('h1').get_text() ```
위의 코드에서 soup.find('h1').get_text()
는 웹 페이지에서 h1
태그를 찾고 그 안에 있는 텍스트를 추출하는 코드이다. 그 외에도 다양한 방법으로 웹 페이지의 데이터를 추출할 수 있다.
5. 웹 스크래핑 예제
이제 Selenium과 BeautifulSoup를 함께 사용하여 웹 스크래핑하는 예제를 살펴보자. 예제로 네이버 뉴스 기사의 제목과 내용을 추출해보겠다.
```python from selenium import webdriver from bs4 import BeautifulSoup
크롬 드라이버 경로 지정
driver = webdriver.Chrome('./chromedriver')
네이버 뉴스 페이지 열기
driver.get('https://news.naver.com')
페이지 소스 가져오기
html = driver.page_source
BeautifulSoup으로 변환
soup = BeautifulSoup(html, 'html.parser')
기사 제목 추출
title = soup.find('div', class='newstitle').get_text()
기사 내용 추출
content = soup.find('div', class='newscontent').get_text()
print(f"기사 제목: {title}") print(f"기사 내용: {content}") ```
위의 예제 코드에서 find()
메소드로 원하는 요소를 찾고, get_text()
메소드로 요소의 텍스트를 추출한다.
6. 마치며
이번 포스팅에서는 Selenium과 BeautifulSoup를 함께 사용하여 파이썬으로 웹 스크래핑하는 방법에 대해 알아보았다. Selenium으로 웹 페이지를 연 후에 BeautifulSoup을 사용하여 필요한 데이터를 추출하는 방식은 매우 효과적이다. 웹 스크래핑을 통해 원하는 데이터를 추출하여 다양한 분야에서 활용할 수 있다. 앞으로도 웹 스크래핑 기술을 이용하여 다양한 프로젝트를 개발해보는 것을 추천한다.
'■ 칼퇴를 위한 파이썬 : 사례' 카테고리의 다른 글
파이썬으로 데이터 시각화하기: NetworkX 기초 (0) | 2023.07.15 |
---|---|
파이썬으로 딥러닝하기: TensorFlow 소개 (0) | 2023.07.15 |
파이썬으로 웹 애플리케이션 개발하기: Django를 활용한 실시간 데이터 업데이트 (0) | 2023.07.14 |
파이썬으로 이미지 처리하기: 이미지 변환 (0) | 2023.07.14 |
파이썬으로 머신러닝하기: 클러스터링 알고리즘 기초 (0) | 2023.07.14 |