반응형
1. 현재가 크롤링
- 현재가를 크롤링해서 엑셀에 저장
네이버 금융 > 삼성전자 검색
https://finance.naver.com/item/sise.naver?code=005930
(code파라미터 값이 삼성전자의 종목코드)
개발자도구(F12) 눌러서 현재가 가져오기위한 태그 확인 후 id값 추출
위에 code파라미터 값을 다른 종목코드로 변경 시 해당기업의 현재가 조회됨을 확인
그러므로 코드종목값을 받아서 크롤링해보도록 하자
코드 작성(1)
import requests
from bs4 import BeautifulSoup
url = "https://finance.naver.com/item/sise.naver?code=005930"
response = requests.get(url);
html = response.text
soup = BeautifulSoup(html, 'html.parser')
price = soup.select_one('#_nowVal').text
print("현재가 :"+ price)
# ,제거
price = price.replace(',','')
print(price)
현재가 출력 결과
코드작성(2)
import requests
from bs4 import BeautifulSoup
# 종목 코드 리스트
codes = [
'005930', #삼성전자
'000660', #sk하이닉스
'035720' #카카오
]
#for문쓸때 내용은 한칸씩 들여쓰기
for code in codes:
url = f"https://finance.naver.com/item/sise.naver?code={code}"
response = requests.get(url);
html = response.text
soup = BeautifulSoup(html, 'html.parser')
price = soup.select_one('#_nowVal').text
print("현재가 :"+ price)
# ,제거
price = price.replace(',','')
print(price)
리스트에 담긴 코드종목들의 현재가 출력 결과
2. 수집한데이터 엑셀에 저장하기
코드 생성
import requests
from bs4 import BeautifulSoup
import openpyxl
fpath = r'C:\startcoding\Chapter03\테스트데이터.xlsx'
wb = openpyxl.load_workbook(fpath)
ws = wb.active #현재 활성화 된 시트 선택(기본시트)
# 종목 코드 리스트
codes = [
'005930', #삼성전자
'000660', #sk하이닉스
'035720' #카카오
]
row =2 #행값
#for문쓸때 내용은 한칸씩 들여쓰기
for code in codes:
url = f"https://finance.naver.com/item/sise.naver?code={code}"
response = requests.get(url);
html = response.text
soup = BeautifulSoup(html, 'html.parser')
price = soup.select_one('#_nowVal').text
price = price.replace(',','')
print(price)
ws[f'B{row}'] = int(price)
row = row+1
wb.save(fpath)
엑셀파일 확인
('현재가' B셀 B2,B3,B4에 내용생성됨을 확인)
[참고] 엑셀 만들기 / 엑셀 불러오기
- openpyxl 라이브러리 설치
openpyxl : 파이썬에서 엑셀을 쉽게 다룰 수 있도록 도와주는 라이브러리
명령어 : pip install openpyxl
설치완료
[엑셀만들기] 코드 생성
import openpyxl
#1) 엑셀 만들기
wb = openpyxl.Workbook()
#2) 엑셀 워크시트 만들기
ws = wb.create_sheet('테스트엑셀') #워크시트이름
#3) 데이터 추가하기
ws['A1'] = '번호' #셀 값 설정
ws['B1'] = '성명'
ws['A2'] = '1'
ws['B2'] = '이은주'
#4) 엑셀 저장하기
wb.save('테스트데이터.xlsx') #저장파일명
#참고 절대경로로 Chapter03안에 엑셀파일 생성
#이때 복사한 경로 그대로 사용하려면 문자열앞에 r 써주면됨(경로 str앞에 r붙이기)
#\ 은 Escape Character 이므로 파이썬에서 읽어들일 수없음 (\\또는 /로 변경해야함)
wb.save(r'C:\startcoding\Chapter03\테스트데이터.xlsx')
코드실행 시 STARTCORDING 아래 xlsx파일이 생성됨을 확인
절대경로 통해서 Chapter03폴더안에 생성됨도 확인
엑셀파일 확인
[엑셀 불러오기] 코드생성
import openpyxl
fpath = r'C:\startcoding\Chapter03\테스트데이터.xlsx'
# 1) 엑셀 불러오기
wb = openpyxl.load_workbook(fpath)
# 2) 엑셀 시트선택
ws = wb['테스트엑셀']
#3) 데이터 수정하기
ws['A3'] = 456
ws['B3'] = '누구누구'
#4) 엑셀저장하기
wb.save(fpath)
엑셀파일 확인_경로 내 파일내용이 수정됨을 확인
'데이터분석' 카테고리의 다른 글
[python] 파이썬 주석달기 (0) | 2022.06.29 |
---|---|
[크롤링 기본] 데이터 수집하기 실전(상품정보 수집)_셀레니움, 무한스크롤, CSV 내려받기 (0) | 2022.01.14 |
[크롤링 기본] 데이터 수집하기 실전(뉴스데이터) (0) | 2022.01.12 |
[크롤링 기본] requests, beautifulsoup , css선택자의 종류 (0) | 2022.01.10 |
[크롤링 기본] python 설치, 파이썬 설치, 웹 크롤링, 크롤링 무료강의 추천 (0) | 2022.01.06 |