[python] 크롤러 예제
복붙용.
출처: https://dojang.io/mod/page/view.php?id=1157
import requests # 웹 페이지의 HTML을 가져오는 모듈
from bs4 import BeautifulSoup # HTML을 파싱하는 모듈
# 웹 페이지를 가져온 뒤 BeautifulSoup 객체로 만듦
response = requests.get('https://pythondojang.bitbucket.io/weather/observation/currentweather.html')
soup = BeautifulSoup(response.content, 'html.parser')
table = soup.find('table', { 'class': 'table_develop3' }) # <table class="table_develop3">을 찾음
data = [] # 데이터를 저장할 리스트 생성
for tr in table.find_all('tr'): # 모든 <tr> 태그를 찾아서 반복(각 지점의 데이터를 가져옴)
tds = list(tr.find_all('td')) # 모든 <td> 태그를 찾아서 리스트로 만듦
# (각 날씨 값을 리스트로 만듦)
for td in tds: # <td> 태그 리스트 반복(각 날씨 값을 가져옴)
if td.find('a'): # <td> 안에 <a> 태그가 있으면(지점인지 확인)
point = td.find('a').text # <a> 태그 안에서 지점을 가져옴
temperature = tds[5].text # <td> 태그 리스트의 여섯 번째(인덱스 5)에서 기온을 가져옴
humidity = tds[9].text # <td> 태그 리스트의 열 번째(인덱스 9)에서 습도를 가져옴
data.append([point, temperature, humidity]) # data 리스트에 지점, 기온, 습도를 추가
data # data 표시. 주피터 노트북에서는 print를 사용하지 않아도 변수의 값이 표시됨
'웹게임 크롤러 만들기' 카테고리의 다른 글
구글 클라우드 서비스 이용 (VPS) 및 GUI 작업환경 설정 (1) | 2018.09.02 |
---|---|
eRepublik 크롤링 페이지 만들기 (0) | 2018.09.01 |