파이썬 웹 크롤링 입문 2강에 오신 것을 환영합니다!
이번 강에서는 실제 뉴스 사이트에서 **기사 제목 10개**를 자동으로 크롤링해보는 실습을 진행합니다. `requests`와 `BeautifulSoup`를 사용하여, 어떻게 웹사이트에서 데이터를 추출하는지에 대해 배워볼 거예요.
—
1. 크롤링 대상 사이트 선택
이번 예제에서는 크롤링이 비교적 쉬운 [연합뉴스](https://www.yna.co.kr/) 사이트를 활용합니다.
예시 URL (속보): https://www.yna.co.kr/news
—
2. HTML 구조 파악하기
개발자 도구(F12)를 눌러 기사 제목이 어떤 태그에 들어 있는지 확인해보면, 다음과 같은 구조를 볼 수 있습니다:
“`html
“`
우리는 `strong.tit-news` 선택자를 이용해 제목만 가져올 수 있습니다.
—
3. 코드 작성
“`python
import requests
from bs4 import BeautifulSoup
url = “https://www.yna.co.kr/news”
response = requests.get(url, headers={“User-Agent”: “Mozilla/5.0”})
soup = BeautifulSoup(response.text, “html.parser”)
titles = soup.select(“strong.tit-news”)
for i, title in enumerate(titles[:10]):
print(f”{i+1}. {title.get_text(strip=True)}”)
“`
– `select()`로 CSS 선택자 방식으로 태그를 선택
– `get_text(strip=True)`로 텍스트만 깔끔하게 추출
—
4. 결과 예시
“`bash
1. 대통령 “경제 살릴 기회…규제 과감히 없앨 것”
2. BTS 정국, 美 빌보드 핫100 5위 기록
3. 고속도로 교통량 작년보다 15%↑
…
“`
—
5. 크롤링 시 주의사항
– 너무 자주 크롤링하지 말고 `time.sleep()`으로 간격을 두세요.
– 사이트마다 robots.txt 규칙이 다르므로 확인 필요합니다.
– 뉴스 사이트는 구조가 바뀔 수 있으므로 유지 관리가 필요합니다.
—
📘 다음 강의 예고
3강: 크롤링한 데이터 CSV로 저장하고 엑셀에서 활용하기
다음 시간에는 수집한 데이터를 파일로 저장하고, 엑셀로 불러와 활용하는 방법을 배워보겠습니다. 실무에서도 유용하게 쓰이는 스킬이에요!
—
이 강의는 파이썬 웹 크롤링 입문자를 위한 연재 시리즈입니다. 매주 새로운 강의로 업데이트됩니다.