카테고리 없음
python 크롤링 pandas , openpyxl 설치 및 사용 (sheetname index error)
Canyi
2022. 10. 6. 15:13
pip3 install pandas
pip3 install openpyxl
크롤링 하고싶은 사이트에 접속을 해서 마우스 우클릭 한다음 '페이지 소스 보기를 클릭한다.'
div태그 에서 class가 esg-entry-content인 값과 a태그에서 class가 eg-grant-element-0인 값을 조회하고 elements에 담아서 각각의 titles와 links라는 배열을 생성해 타이틀과 링크를 담는다.
import requests
from bs4 import BeautifulSoup as bs # BeautifulSoup를 bs로 쓰겠다.
import pandas as pd
page = requests.get('https://library.gabia.com/')
soup = bs(page.text,"html.parser") #데이터 구조화
# elements = soup.select('div.esg-entry-content a > span') # a > span index와 content 정렬?
elements = soup.select('div.esg-entry-content a.eg-grant-element-0')
titles = []
links = []
for index, element in enumerate(elements,1): #index: data 개수
titles.append(element.text)
links.append(element.attrs['href']) #링크의 속성 첨부
df = pd.DataFrame() #데이터 정량화
df['titles'] = titles #titles를 titles라는 key값으로 넣겠다.
df['links'] = links
df.to_excel('./data.xlsx',sheet_name=['sheet1']) sheet name을 생성할떄 배열에 넣지 말자...
#df.to_excel('./data.xlsx',sheet_name='sheet1')
raise IndexError("At least one sheet must be visible")
IndexError: At least one sheet must be visible
하나 이상의 시트가 포함 되어 있어야 된다고 에러가 뜬다..
df.to_excel('./data.xlsx',sheet_name=['sheet1'])
sheet_name = ['sheet1'] > sheet 이름을 정의 할 떄 배열에 넣어서 index error가 났다...
df.to_excel('./data.xlsx',sheet_name='sheet1')
배열을 지웠음..