작성
·
13K
1
import requests from bs4
import BeautifulSoup
import openpyxl
fpath = '/Users/dohoon/Desktop/DH/python/crawling/네이버 주식 크롤링/data.xlsx'
wb = openpyxl.load_workbook(fpath)
ws = wb.active # 기본 시트를 선택한 것 (현재 활성화된 시트 선택)
# 종목 코드 리스트
codes = [ '005930', '000660', '035720' ]
row = 2
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') # 파싱하기 어려운 html을 파싱해줌.
price = soup.select_one('#_nowVal').text
price = price.replace(',','') # 116,500이라고 콤마 나오던걸 없앨 수 있음.
print(price)
ws[f'B{row}'] = int(price)
row += 1
wb.save(fpath)
위와 같이 진행했는데
zipfile.BadZipFile: File is not a zip file 오류가 발생합니다 어떻게 해야할까요? 들여쓰기는 다 맞게 진행했습니다.
답변 1
0
안녕하세요.
코딩을 가장 쉽게 알려주는 크리에이터, 스타트코딩입니다.
저도 처음 보는 오류인데요,
엑셀 파일에 문제가 있는 것 같습니다.
https://programmerah.com/python-openpyxl-excel-open-zipfile-error-resolution-zipfile-badzipfile-file-is-not-a-zip-file-426/
위 사이트에서는, 엑셀이 제대로 닫기지 않아서 생기는 오류라고 합니다.
기존 엑셀을 삭제 후, 컴퓨터를 재부팅 한다음
새로 만들고 테스트 해보시기 바랍니다 ^^
답변해주셔서 감사합니다!