import requests
from bs4 import BeautifulSoup
from utils import *
import datetime as dt
import pandas as pd
class Naver():
def __init__(self):
super().__init__()
@property
def headers(self):
return {
"User-Agent": "Mozilla/5.0 (Windows; Windows NT 6.1; rv:2.0b2) Gecko/20100720 Firefox/4.0b2",
"X-Requested-With": "XMLHttpRequest",
"Accept": "text/html",
"Accept-Encoding": "gzip, deflate",
"Connection": "keep-alive",
}
def get_bs_obj(self, url):
result = requests.get(url, headers=headers())
bs_obj = BeautifulSoup(result.content.decode('euc-kr', 'replace'),
"html.parser") # html.parser 로 파이썬에서 쓸 수 있는 형태로 변환
return bs_obj
def categoryTop(self):
"""
섹터매핑
:return:
"""
x = dt.datetime.now()
date = x.strftime("%Y-%m-%d")
url = 'https://finance.naver.com/sise/sise_group.naver?type=upjong'
page = requests.get(url, headers=headers())
# print(page.text)
tables = pd.read_html(page.text, attrs={'summary': '업종별 전일대비 시세에 관한 표이며 등락현황 정보를 제공합니다.'})
for i, row in tables[0].iterrows():
if not isNaN(row[0]):
print(row)
if __name__ == "__main__":
naver = Naver()
naver.categoryTop()
업종명 업종명 무역회사와판매업체
전일대비 전일대비 +14.10%
전일대비 등락현황 전체 5.0
상승 4.0
보합 0.0
하락 1.0
등락그래프 등락그래프 100%
Name: 1, dtype: object
업종명 업종명 철강
전일대비 전일대비 +5.17%
전일대비 등락현황 전체 55.0
상승 46.0
보합 2.0
하락 7.0
등락그래프 등락그래프 36%
Name: 2, dtype: object