• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

보기와 같이 진행했는데 오류가 발생합니다.

22.04.01 16:24 작성 조회수 12.1k

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/

 

위 사이트에서는, 엑셀이 제대로 닫기지 않아서 생기는 오류라고 합니다.

기존 엑셀을 삭제 후, 컴퓨터를 재부팅 한다음

새로 만들고 테스트 해보시기 바랍니다 ^^

 

 

 

thingslike님의 프로필

thingslike

질문자

2022.04.04

답변해주셔서 감사합니다!