Fnguide 주식발행수, 투자의견, 컨센서스 크롤링
http://comp.fnguide.com/SVO2/ASP/SVD_main.asp?pGB=1&gicode=A005930 을 크롤링하는 예제
import requests
import pandas as pd
class Fnguide():
def __init__(self, parent=None):
super().__init__()
def crawalSvdMain(self):
sCode = sCode = 'A005930' # 삼성전자
url = f"http://comp.fnguide.com/SVO2/ASP/SVD_main.asp?pGB=1&gicode={sCode}"
page = requests.get(url)
# 종가, 최고가, 수익률, 시가총액, 발생주식수(보통주 / 우선주)
try:
tables = pd.read_html(page.text, match='(보통주/ 우선주)', header=0, encoding='utf-8')
console.log('1 ===================================');
print(tables[0])
except ValueError as e:
print('I got a ValueError - reason "%s"' % str(e))
finally:
pass
# 투자의견, 목표주가, 추정기관수, EPS, PER
try:
tables = pd.read_html(page.text, match='투자의견', header=0, encoding='utf-8')
print(tables[0])
except ValueError as e:
print('I got a ValueError - reason "%s"' % str(e))
finally:
pass
# 매출액, 영업이익, 당기순이익, 지배주주순이익, 자본총계, 자본금, 부채비율, 유보율, ROA, ROE, EPS, BPS, DPS, PER, PBR, 발행주식수
try:
tables = pd.read_html(page.text, match='컨센서스, 추정치', encoding='utf-8')
print(tables[0])
except ValueError as e:
print('I got a ValueError - reason "%s"' % str(e))
finally:
pass
if __name__ == "__main__":
fnguide = Fnguide()
fnguide.crawalSvdMain()
결과
종가/ 전일대비 ... 14,992,747
0 52주.최고가/ 최저가 ... 9409
1 수익률(1M/ 3M/ 6M/ 1Y) ... 51.10
2 시가총액(상장예정포함,억원) ... 1.06375
3 시가총액(보통주,억원) ... 100
4 NaN ... NaN
5 발행주식수(보통주/ 우선주) ... 4,525,616,670 / 75.81
[6 rows x 4 columns]
투자의견 목표주가 EPS PER 추정기관수
0 4.0 79190 1736 35.9 22
IFRS(연결) Annual ... Net Quarter
IFRS(연결) 2020/12 2021/12 ... 2022/09 2022/12 2023/03(E)
0 매출액 2368070.00 2796048.00 ... 767817.00 704646.00 642012.00
1 영업이익 359939.00 516339.00 ... 108520.00 43061.00 10001.00
2 영업이익(발표기준) 359939.00 516339.00 ... 108520.00 43061.00 NaN
3 당기순이익 264078.00 399075.00 ... 93892.00 238414.00 15068.00
4 지배주주순이익 260908.00 392438.00 ... 91439.00 235025.00 12369.00
5 비지배주주순이익 3170.00 6637.00 ... 2453.00 3389.00 NaN
6 자산총계 3782357.00 4266212.00 ... 4702784.00 4484245.00 NaN
7 부채총계 1022877.00 1217212.00 ... 1253715.00 936749.00 NaN
8 자본총계 2759480.00 3048999.00 ... 3449069.00 3547496.00 NaN
9 지배주주지분 2676703.00 2962377.00 ... 3354702.00 3451861.00 NaN
10 비지배주주지분 82777.00 86622.00 ... 94367.00 95635.00 NaN
11 자본금 8975.00 8975.00 ... 8975.00 8975.00 NaN
12 부채비율 37.07 39.92 ... 36.35 26.41 NaN
13 유보율 29723.53 32906.47 ... 37277.71 38360.25 NaN
14 영업이익률 15.20 18.47 ... 14.13 6.11 1.56
15 지배주주순이익률 11.02 14.04 ... 11.91 33.35 1.93
16 ROA 7.23 9.92 ... 8.18 20.76 1.34
17 ROE 9.99 13.92 ... 11.18 27.62 1.43
18 EPS(원) 3841.00 5777.00 ... 1346.00 3460.00 182.00
19 BPS(원) 39406.00 43611.00 ... 49387.00 50817.00 NaN
20 DPS(원) 2994.00 1444.00 ... 361.00 361.00 NaN
21 PER 21.09 13.55 ... NaN NaN NaN
22 PBR 2.06 1.80 ... 1.08 1.09 NaN
23 발행주식수 5969783.00 5969783.00 ... 5969783.00 5969783.00 NaN
24 배당수익률 3.70 1.84 ... 0.68 0.65 NaN
[25 rows x 9 columns]