파이썬 문법, set, list, dictionary 개념 공부
완전 기본적인 것들이라 생략
오전: matplotlib, seaborn 이용 방법
오후: 데이터 크롤링, folium 이용 방법
import matplotlib.pyplot as plt
y = np.arange(0, 10)**2
plt.plot(y)
plt.show()
x = np.linspace(0, 10, 30)
y = np.sin(x)
z = np.cos(x)
plt.style.use('ggplot')
plt.figure(figsize=(12, 8))
plt.subplot(2, 2, 1)
plt.plot(x, y, 'r-')
plt.subplot(2, 2, 2)
plt.plot(x, z, 'g--')
plt.subplot(2, 2, 4)
plt.plot(x, z, 'b-.')
plt.show()
plt.scatter(x,y)
x = ['A','B','C','D']
y = [5. , 25. , 50. , 20.]
fig, ax = plt.subplots(1, 2)
fig.set_size_inches(12,5)
ax[0].bar(x, y, color='#33aaff')
ax[1].bar(x, y, color=['r', 'g', 'b', 'k'])
plt.show()
x = np.random.normal(172, 10, 250)
plt.hist(x)
plt.show()
x = np.random.normal(10, 3, 100)
y = np.random.normal(13, 3, 100)
z = np.random.normal(8, 5, 100)
plt.boxplot([x, y, z], patch_artist=True, sym='ro')
plt.xticks([1, 2, 3], ['A', 'B', 'C'])
plt.show()
import requests
from bs4 import BeautifulSoup as bs
import matplotlib.pyplot as plt
import pandas as pd
res = requests.get('https://dhlottery.co.kr/common.do?method=main')
soup = bs(res.content, 'html.parser')
result = soup.select( '.ball_645')
data = []
for num in result:
data.append(int(num.text))
data
[12, 16, 21, 24, 41, 43, 15]
import requests
from bs4 import BeautifulSoup as bs
url = 'https://search.naver.com/search.naver?sm=tab_hty.top&where=nexearch&query=%EC%84%9C%EC%9A%B8+%EB%82%A0%EC%94%A8&oquery=%EB%82%A0%EC%94%A8&tqi=ihZbIwqVN8CssDDKWc0ssssstrG-048410'
res = requests.get(url)
soup = bs(res.content, 'html.parser')
result = soup.select(".temperature_text")
data = []
for info in result:
data.append(info.text)
data
[' 현재 온도4.0° ', ' 예측 온도-3° ', ' 예측 온도7° ', ' 예측 온도-2° ', ' 예측 온도6° ']
import newspaper as news
link = 'https://news.sktelecom.com/200489'
article = news.Article(link, language='ko')
article.download()
article.parse()
print(article.text)
SK텔레콤 뉴스룸에서 얼마 남지 않은 올해를 마무리하며, <2023년 독자들에게 가장 사랑받은 뉴스룸 콘텐츠 Top 10(조회수 Top 10*)>을 정리했다. 올 한 해 뉴스룸을 찾아준 분들을 위한 이벤트도 준비했으니 많은 참여를 부탁드린다....
import requests
from bs4 import BeautifulSoup as bs
url = 'http://www.cine21.com/movie/info/?movie_id=58978'
res = requests.get(url)
soup = bs(res.content, 'html.parser')
result = soup.select('.comment')
data = []
for info in result:
data.append(info.text)
data
import folium
import pandas as pd
seoul_map = folium.Map(location=[37.55,126.98], zoom_start=12)
seoul_map
import requests
from pandas.io.json import json_normalize
# 스타벅스 사이트에서 위치정보를 수집
targetSite = 'https://www.starbucks.co.kr/store/getStore.do?r=5XLKAT2F0K'
request = requests.post(targetSite, data={
'ins_lat': 37.5108295, # 위도
'ins_lng': 127.02928809999999, # 경도
'p_sido_cd': '01', # 시,도 분류 코드
'p_gugun_cd': '', # 시,군,구 분류 코드
'in_biz_cd': '', # 알 수 없는 정보(불필요)
'iend': 2000, # 불러올 최대 매장 수
'set_date': '' # 알 수 없는 정보(불필요)
})
star_json = request.json()
star_df = json_normalize(star_json, 'list')
star_df.to_csv('starbucks_locations.csv', index=False)
star_data = {
'name': [],
'lat': [],
'lot': [],
}
for index, row in star_df.iterrows():
star_data['name'].append(row['s_name'])
star_data['lat'].append(row['lat'])
star_data['lot'].append(row['lot'])
for i in range(len(star_data['name'])):
folium.Marker([star_data['lat'][i], star_data['lot'][i]], popup=star_data['name'][i]).add_to(seoul_map)
seoul_map
결과