2023. 11. 8. 20:23ㆍ개발 문서/Python
웹 스크래핑(Web Scraping)은 웹 사이트에서 정보를 추출하거나 수집하는 프로세스를 나타냅니다. Python에서 웹 스크래핑을 수행하는데 사용되는 라이브러리 중 하나가 BeautifulSoup입니다. BeautifulSoup은 HTML 및 XML 문서에서 데이터를 추출하고 구문 분석하는 파이썬 라이브러리로, 웹 스크래핑 작업을 단순화합니다.
아래는 BeautifulSoup을 사용한 웹 스크래핑의 기본적인 단계와 예제 코드입니다:
1. BeautifulSoup 설치:
먼저 BeautifulSoup을 설치해야 합니다. 아래의 명령으로 BeautifulSoup4를 설치할 수 있습니다:
pip install beautifulsoup4
2. requests 라이브러리 설치:
BeautifulSoup와 함께 웹 사이트에서 데이터를 다운로드하기 위해 requests
라이브러리를 사용할 수 있습니다. 이 라이브러리를 설치하려면 다음 명령을 실행하십시오:
pip install requests
3. 웹 페이지 가져오기:
먼저 requests
를 사용하여 웹 페이지의 HTML을 가져와야 합니다:
import requests
url = "https://example.com"
response = requests.get(url)
if response.status_code == 200:
html = response.text
else:
print("페이지를 가져올 수 없습니다.")
4. BeautifulSoup로 파싱:
HTML 문서를 BeautifulSoup를 사용하여 파싱하고 데이터를 추출할 수 있습니다:
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'html.parser')
# 예시: 제목 태그에서 텍스트 추출
title = soup.title.text
print(f"웹 페이지 제목: {title}")
5. 웹 페이지에서 원하는 데이터 추출:
BeautifulSoup를 사용하여 웹 페이지에서 원하는 데이터를 추출할 수 있습니다. 웹 페이지의 HTML 구조를 이해하고 원하는 요소를 찾는 방법을 알고 있어야 합니다.
# 예시: 모든 링크의 텍스트와 URL을 추출
links = soup.find_all('a')
for link in links:
link_text = link.text
link_url = link.get('href')
print(f"링크 텍스트: {link_text}")
print(f"링크 URL: {link_url}")
6. 데이터 저장 및 분석:
추출한 데이터를 분석하거나 저장할 수 있습니다. 예를 들어, 데이터베이스에 저장하거나 CSV 파일로 내보낼 수 있습니다.
# 예시: 데이터를 CSV 파일로 저장
import csv
with open('data.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['링크 텍스트', '링크 URL'])
for link in links:
link_text = link.text
link_url = link.get('href')
writer.writerow([link_text, link_url])
BeautifulSoup를 사용하면 웹 스크래핑 작업을 쉽게 수행할 수 있으며, 웹 페이지의 구조를 파악하고 원하는 데이터를 추출하는 도구로 유용합니다.
'개발 문서 > Python' 카테고리의 다른 글
RESTful API와 JSON 처리 (0) | 2023.11.09 |
---|---|
데이터베이스 연동(SQLite, MySQL) (0) | 2023.11.08 |
데이터 시각화(Matplotlib, Seaborn) (0) | 2023.11.08 |
NumPy와 배열 처리 (0) | 2023.11.08 |
모듈과 패키지 (0) | 2023.11.08 |