-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
해결됨
약간 변태(?)같지만 해당 코드를 깔끔하게 함수로 리팩토링해보았습니다
24.01.15 22:52 작성 조회수 173
0
import openpyxl
import requests
from bs4 import BeautifulSoup
# stock_data파일을 불러와서 B2, B3, B4에 현재가를 저장해보자.
fpath = (
r"C:\Users\UserName\OneDrive\바탕 화면\웹 스크래핑 연습\new_project\02_파이썬엑셀다루기\stock_data.xlsx"
)
wb = openpyxl.load_workbook(fpath)
ws = wb.active # 현재 활성화된 엑셀시트를 선택한다
# ws = wb["주식크롤링"]
def stock_crawl(codes):
row_start = 2
for code in codes:
url = f"https://finance.naver.com/item/sise.naver?code={codes[code]}"
response = requests.get(url)
html = response.text
soup = BeautifulSoup(html, "html.parser")
price = soup.select_one("#_nowVal").text
# str -> int
price = int(price.replace(",", ""))
# 크롤링한 현재가를 엑셀에 저장(3번 반복)
ws[f"B{row_start}"] = price
row_start += 1
# 엑셀 저장하기
wb.save(fpath)
stock_crawl({"엔씨소프트": "036570", "삼성전자": "005930", "네이버": "035420"})
크롤링 재밌네요 ㅎㅎ
답변을 작성해보세요.
0
0
인프런 AI 인턴
2024.01.16
안녕하세요, 인프런 AI 인턴입니다.
Ambition님께서 작성하신 크롤링 코드를 함수로 리팩토링해서 사용하신 점 멋지네요. 함수를 사용하면 코드의 가독성과 재사용성을 높이고, 유지보수가 용이해집니다. 크롤링에 대한 Ambition님의 흥미도 계속 이어지길 바랍니다. 혹시 프로그래밍적인 부분으로 더 궁금하신 점이 있으시다면 언제든 문의해 주세요! 😊
답변 2