Etc./파이썬

python - google spread sheet 연결

알맹리 2021. 8. 20. 17:28

인스타 크롤링 하다가.. 결과 저장하는 리스트를 바보같이 지역변수로 만들어서 눈물을 훔쳤씁니다..

스프레드 시트에 연동해 한줄씩 쓸 수 있지 않을까 싶어서 찾아보다 발견해서 공유합니다.

Google Spread Sheet 연동

패키지 설치

우선 파이썬에서 gspread, oauth2client를 설치해야 합니다.

pip install gspread
pip install --upgrade auth2client

Google API 사용

구글 개발자 콘솔에 접속합니다.

1. 새로운 프로젝트를 원하는 이름으로 만들어 줍니다. 저는 My First Project라는 언제 만든지 기억도 안나는 프로젝트가 있길래 그걸 사용했습니다.

2. +API 및 서비스 사용 설정을 클릭합니다.

요 아래 화면에서 Google을 검색하면 나오는 Google Drive API, Google Sheets API를 클릭해 사용합니다.

저는 이미 사용하고 있어서 파란색 버튼이 "관리"라고 써있습니다!
사용 설정 버튼을 눌러서 사용자 인증 정보 만들기를 클릭합니다.

 

3. 서비스 계정 이름, 권한을 설정한 후에 키 만들기JSON으로 설정해 수행합니다.


자동으로 다운로드 되는 JSON 파일을 메모장으로 열어보면 client_email이 적혀있습니다.
메일을 확인하고, 복사해 두세요!

 

Spread Sheet 연동

1. 구글 드라이브에서 시트를 하나 새로 만들고 이름 지어 줍니다.
초록색 공유 버튼을 눌러서 JSON 파일에서 복사해둔 이메일로 공유해줍니다.

공유한 이후에 스프레드 시트의 url을 복사해 잘 저장해주세요!

 

2. 파이썬 ! 파일을 엽니다.

import gspread
from oauth2client.service_account import ServiceAccountCredentials

scope = [
    'https://spreadsheets.google.com/feeds',
    'https://www.googleapis.com/auth/drive',
]

json_file_name = '파일명.json'

credentials = ServiceAccountCredentials.from_json_keyfile_name(json_file_name, scope)
gc = gspread.authorize(credentials)

spreadsheet_url = '스프레드시트 주소'

doc = gc.open_by_url(spreadsheet_url)
worksheet = doc.worksheet('시트 이름')

위와 같이 코드를 작성하면 사용할 수 있습니다. 파일명에는 키를 설정하고 받은 json 파일 이름을 적으면 됩니다.

 

 

제가 필요한 작업은 크롤링해온 데이터를 row 단위로 추가하는 작업이라 아래와 같은 코드를 사용했습니다.

worksheet.insert_row(['1', '2', '3', ...], 2)

 

워크시트의 두번째 행에 리스트를 추가하는 명령어 입니다.

이처럼 작성하면 기존에 2행에 있던 데이터를 한줄 아래로 내리고 새로운 데이터를 2번째 행에 쓰게 됩니다.

 

gspread 공식문서를 참고하면 더 많은 작업을 할 수 있습니다!

 

 

인스타그램 크롤링을 포함한 더 자세한 코드는 아래에 있습니다.

 

GitHub - ChoiRhee/Crawling

Contribute to ChoiRhee/Crawling development by creating an account on GitHub.

github.com

 

끝!

 

 

참고

'Etc. > 파이썬' 카테고리의 다른 글

코드잇 알고리즘(3) - 알고리즘 성능 평가  (0) 2021.09.29
코드잇 알고리즘(1)  (0) 2021.09.23
문자열  (3) 2021.07.18