약간 변태(?)같지만 해당 코드를 깔끔하게 함수로 리팩토링해보았습니다
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"})크롤링 재밌네요 ㅎㅎ
Answer 2
0
안녕하세요, 인프런 AI 인턴입니다.
Ambition님께서 작성하신 크롤링 코드를 함수로 리팩토링해서 사용하신 점 멋지네요. 함수를 사용하면 코드의 가독성과 재사용성을 높이고, 유지보수가 용이해집니다. 크롤링에 대한 Ambition님의 흥미도 계속 이어지길 바랍니다. 혹시 프로그래밍적인 부분으로 더 궁금하신 점이 있으시다면 언제든 문의해 주세요! 😊
Live server 를 이용 해보고 싶은데 확장메뉴 설치가 막혀 있어요
0
62
2
'팀 단위 AI 업무 혁신' 자문 관련하여 문의드리고자 합니다. (연락처 요청)
0
38
1
import requests from bs4 import BeatifulSoup 이 단계에서 안 되네요
0
75
2
requests 관련 질문
1
136
2
설치 관련
0
130
2
vs code 결과출력이 안됩니다
0
143
1
크롤링 관련 질문입니다
0
208
2
word wrap 체크 후에도 콘솔 한줄로 출력되는현상
0
190
1
주피터에서 pip오류가 계속납니다
0
1081
3
강의 "requests, Beautifulsoup4 사용법 빠르게 알아보기"에서 질문이있습니다.
0
170
2
네이버쇼핑 검색창 넘어가기전 팝업창이 안사라져요
0
364
1
html주소를 다른 컴터에서도 접속하기
0
241
2
pandas 설치하는데 오류가 나서요
0
2699
1
실행오류
0
213
1
네이버쇼핑 무한스크롤 안되시는분들 모바일네이버로 실습해보세요
0
263
1
뉴스 페이지에 페이지 번호가 없는데 어떻게 가져오나요?
0
231
2
네이버 쇼핑에 팝업창이 뜨기 시작했어요 도와주세요 ㅠㅠ
0
719
3
셀레니움 실습 시 창이 자동 차단되면서 꺼집니다.
0
663
2
낮은 가격순을 클릭하는 문을 추가하고싶습니다.
0
303
2
pip는 내부 또는 외부명령 ,실행할 수 있는 프로그램
0
3380
2
이런오류는 어떤 오류인가요
0
657
1
창이 두개떠요/쇼핑검색도 안되요 ㅜ
0
332
2
과제 답안을 보지않고 스스로 구글링해서 만든 웹 크롤링 프로그램(10페이지 단위) 코드입니다.
0
751
2
자동 로그인시 자동입력방지문자 페이지로 연결
0
2273
3

