1. 개요
- 투자를 위한 기업의 기초정보 수집을 위해 네이버증권에서 코스피 시가총액순으로 정리된 기업정보 크롤링하기
2. 웹크로링 실행
(1) 라이브러리 설치
pip install requests
pip install bs4
* requests – 웹페이지에서 HTML 데이터 추출
* beautifulsoup – requests 로 수집한 HTML 데이터를 분석하고 구조화된 형태로 변환
(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 = "N 종목명 현재가 전일비 등락률 액면가 시가총액 상장주식수 외국인비율 거래량 PER ROE".split("\t")
writer.writerow(title)
writer.writerow(data)
3. 종합
import requests
from bs4 import BeautifulSoup
import csv
url = "https://finance.naver.com/sise/sise_market_sum.naver?&page="
filename = "시가총액.csv"
f = open(filename, "w", encoding="utf-8-sig", newline="")
writer = csv.writer(f)
title = "N 종목명 현재가 전일비 등락률 액면가 시가총액 상장주식수 외국인비율 거래량 PER ROE".split("\t")
writer.writerow(title)
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]
writer.writerow(data)
* 참고 강의 – 유튜브<나도코딩> → 파이썬 코딩 무료 강의 (활용편3) – 웹크롤링
'개발 > 파이썬' 카테고리의 다른 글
웹크롤링_네이버증권 배당 기업정보 (0) | 2024.06.09 |
---|---|
웹크롤링_네이버증권 시가총액순 기업정보(심화) (0) | 2024.06.09 |
웹크롤링_개요 (0) | 2024.06.09 |
비주얼 스튜디오(Visual Studio) 설치 및 실행 (0) | 2024.06.09 |