웹크롤링
1. 웹크롤링과 스크레이핑
ihl
2020. 9. 7. 21:28
0. BeautifulSoup, requests 설치
1. 실습 1: 내가 만든 html에서 데이터 가져오기
from bs4 import BeautifulSoup
html="""
<html><body>
<h1>h1태그의 텍스트</h1>
<p>p1태그의 텍스트1</p>
<p>p태그의 텍스트2</p>
</body></html
"""
soup = BeautifulSoup(html, 'html.parser')
h1 = soup.html.body.h1
p1 = soup.html.body.p
p2 = p1.next_sibling.next_sibling
print("h1 = " + h1.string)
위 처럼 html에 있는 데이터 들을 soup로 태그에 접근하여 뽑아낼 수 있다.
2. 실습2: 외부 페이지에서 데이터 가져오기 - 환율 정보 가져오기
from bs4 import BeautifulSoup
import urllib.request as req
url = "http://finance.naver.com/marketindex/"
res = req.urlopen(url)
soup = BeautifulSoup(res, "html.parser")
price = soup.select_one("div.head_info > span.value").string
print("환율=", price)
브라우저에서 궁금한 요소에 대고 우클릭>검사 로 해당 페이지의 html을 볼 수 있다.
이를 활용하여 soup에 해당 요소의 css 선택자를 넣으면 데이터를 가져올 수 있다.
+cron을 명령어로 코드(크롤링+저장)를 주기적으로 수행시켜 데이터를 원하는 기간마다 수집할 수 있다.