1. 개요
- 배당주에 투자하기 위해 네이버증권에서 직전 3개년 배당금과 최근연도기준 배당수익률 등 기업정보 크롤링하기
2. 웹크로링 실행
(1) 라이브러리 설치
pip install requests
pip install bs4
(2) 라이브러리 불러오기
import requests
from bs4 import BeautifulSoup
import csv
(3) 데이터 요청 및 추출
url = "https://finance.naver.com/sise/sise_market_sum.naver?&page="
for page in range(1, 5):
res = requests.get(url + str(page))
res.raise_for_status()
soup = BeautifulSoup(res.text, "html.parser")
data_rows = soup.find("table", attrs={"class":"type_2"}).find("tbody").find_all("tr")
for row in data_rows:
columns = row.find_all("td")
if len(columns) <= 1:
continue
data = [column.get_text().strip() for column in columns]
print(data)
(4) CSV로 저장
filename = "배당주리스트.csv"
f = open(filename, "w", encoding="utf-8-sig", newline="")
writer = csv.writer(f)
title = "종목명 현재가 기준월 배당금 수익률(%) 배당성향(%) ROE(%) PER(배) PBR(배) 1년전 2년전 3년전".split("\t")
writer.writerow(title)
writer.writerow(data)
3. 종합
# 라이브러리 불러오기
import requests
from bs4 import BeautifulSoup
import csv
url = "https://finance.naver.com/sise/dividend_list.naver?&page="
# csv로 저장
filename = "배당주리스트.csv"
f = open(filename, "w", encoding="utf-8-sig", newline="")
writer = csv.writer(f)
title = "종목명 현재가 기준월 배당금 수익률(%) 배당성향(%) ROE(%) PER(배) PBR(배) 1년전 2년전 3년전".split("\t")
writer.writerow(title)
# 데이터 요청 및 추출
for page in range(1, 6):
res = requests.get(url + str(page))
res.raise_for_status()
soup = BeautifulSoup(res.text, "html.parser")
data_rows = soup.find("table", attrs={"class":"type_1 tb_ty"}).find("tbody").find_all("tr")
for row in data_rows:
columns = row.find_all("td")
data = [column.get_text().strip() for column in columns]
#print(data)
writer.writerow(data)
'개발 > 파이썬' 카테고리의 다른 글
웹크롤링_네이버증권 시가총액순 기업정보(심화) (0) | 2024.06.09 |
---|---|
웹크롤링_네이버증권 시가총액순 기업정보 (0) | 2024.06.09 |
웹크롤링_개요 (0) | 2024.06.09 |
비주얼 스튜디오(Visual Studio) 설치 및 실행 (0) | 2024.06.09 |