인공지능 AI/머신러닝 Machine Learning

파이썬 requests와 BeautifulSoup을 이용 웹크롤링 예제

Tap to restart 2021. 2. 5. 18:00
반응형

requests와 BeautifulSoup일 이용한 웹크롤링

requests를 이용하면 셀레늄selenium을 이용한 경우보다 훨씬 빠르게 정보를 수집할 수 있다.

웹페이지가 ajax를 활용해서 정보를 한번에 불러오는 게 아니라, 스크롤 등 사용자의 행동에 반응해서 추가로 정보를 불러온다면 requests를 활용해서 수집이 어렵다. 이 경우 셀레늄을 쓰거나 둘을 섞어서 써야 한다.

 

코드 예

import requests
from bs4 import BeautifulSoup
import unicodedata

# 서울시 뉴스
url = 'https://mediahub.seoul.go.kr/archives/2000338'
html = requests.get(url)
html_text = html.text

soup = BeautifulSoup(html_text, "lxml")
title = soup.find("h3", class_="tit").get_text()
print('title:' + title)

content = soup.find("div", class_="news_detail_cont").get_text()
content = unicodedata.normalize("NFKD", content)
print('content:' + content)

 

출력 결과

title:저축액 2~4배 불려주는 '희망키움' 등 통장사업 신청
content:   서울시가 ‘희망키움통장I,II’ 등 5개 통장사업 참여자를 2월 1일부터 모집한다. (2021년 1차)  저축한 금액이 두 배로 불어나는 희망키움통장 등 5개 통장사업의 올해 첫 참여 모집이 시작됩니다. 서울시는 저소득 청년 및 취약계층의 목돈마련을 지원하기 위해 희망키움통장, 청년저축계좌 등의 통장사업을 추진하고 있는데요. 힘든 시기이지만 자립의 꿈이 지속될 수 있도록 서울시가 적극 지원하겠습니다. 가입신청 및 상담은 거주지 동주민센터에서 가능합니다.	   서울시가 ‘일하는’ 저소득 취약계층 대상이 ‘자립 씨앗자금’을 마련할 수 있도록 지원하는 희망키움통장I‧II, 내일키움통장, 청년희망키움통장과 청년저축계좌 참여자를 신규 모집한다.올해 1차 모집기간은 청년희망키움과 희망키움I, 내일키움은 2월 1일∼18일이며, 청년저축계좌와 희망키움II는 2월 1일∼19일이다. 		   만 39세 이하 일하는 청년은 ‘청년희망키움‧청년저축계좌’ 청년(만15세~39세 이하)을 대상으로 하는 청년통장은 두 가지 종류로, 가입기간 동안 근로소득이 있어야 한다. 재직증명서·사업자등록증·사업활동 등 관련 증명서류가 필요하며 소액이라도 최근 3개월 간 근로·사업소득이 있어야 한다. 대학의 근로장학금, 무급근로, 실업급여, 육아휴지수당 등의 사례는 가입이 불가하며, 사치성·향락업체, 도박·사행성 업종도 제외대상이다.‘청년희망키움’은 중위소득 30% 이하(4인가구 기준 월 1,462,887원)인 가구의 청년 대상이며 매월....

 

requests-bs4-web-crawling-example.ipynb
0.13MB

반응형