Q. Naver 증권 일일 시세 크롤링 하기(금융코드 035420)
A.
import requests
from bs4 import BeautifulSoup as BS
def refine_price(text):
price = int(text.replace(",", ""))
return price
url = "https://finance.naver.com/item/sise_day.nhn?code=035420"
response = requests.get(url)
text = response.text
html = BS(text, 'html.parser')
tr_list = html.find_all("tr", {"onmouseover":"mouseOver(this)"})
for tr in tr_list:
date = tr.find_all("td")[0].text
temp = []
for td in tr.find_all("td")[1:]:
price = refine_price(td.text)
temp.append(price)
del temp[1]
print([date] + temp)
"""
closing = refine_price(tr.find_all("td")[1].text)
opening = refine_price(tr.find_all("td")[3].text)
max = refine_price(tr.find_all("td")[4].text)
min = refine_price(tr.find_all("td")[5].text)
volume = refine_price(tr.find_all("td")[6].text)
print([date, closing, opening, max, min, volume])
"""
O.
['2019.02.28', 133000, 130500, 136000, 130000, 563615]
['2019.02.27', 129500, 132000, 134000, 129000, 322664]
['2019.02.26', 131500, 126500, 134000, 126000, 591643]
['2019.02.25', 126000, 127000, 128500, 125500, 338113]
['2019.02.22', 127000, 129500, 129500, 125000, 301395]
['2019.02.21', 129000, 126500, 130000, 126500, 347083]
['2019.02.20', 127000, 126500, 128000, 125500, 231753]
['2019.02.19', 126500, 127000, 128000, 125500, 218351]
['2019.02.18', 127000, 129500, 131000, 125500, 533191]
['2019.02.15', 127500, 128500, 131000, 127500, 420100]
Process finished with exit code 0
Tip.
네이버에는 좋은 일일 시세 코드 주소가 존재한다.
url = "https://finance.naver.com/item/sise_day.nhn?code=035420"
이 부분이다. 저 중에 마지막 코드 숫자가 바로 금융코드이다.
저걸 만약에 삼성전자로 하고 싶으면 맨 마지막에 숫자를 005930 로 바꾸면 삼성전자에 대한 주식일일시세가 나온다.
'Python_Crawling > Crawling' 카테고리의 다른 글
다음 이미지 검색하여 자동으로 저장(KaKaO API) (0) | 2019.04.29 |
---|---|
User agent - Python Web Crawling (0) | 2019.04.27 |
190224> Python-NaverNews 사용자 입력 받아 크롤링 (0) | 2019.02.24 |
190224> Python-NaverNews 사진 + 뉴스 제목 + 요약 + 제공자 크롤링 (0) | 2019.02.24 |
190224> Python-Naver News 크롤링 (0) | 2019.02.24 |