参考サイト
https://yokonoji.work/python-scraping-6
https://qiita.com/akabei/items/0eac37cb852ad476c6b9
使ったライブラリ
requests
BeautifulSoup
oauth2client
gspread
実装
サービスアカウントキー
Googleスプレッドシートにアクセスするためのサービスアカウントキーは、参考サイトに書いてあるとおりなので、ざっくりで書きます。m(_ _)m
↓サイトにて、
https://console.developers.google.com/cloud-resource-manager
↓を実行
- プロジェクトを作成
- Google Drive API 有効
- Google Sheets API 有効
- サービスアカウントキーを作成 (JSONダウンロード)
スプレッドシート作成
- スプレッドシート作成
- 「共有」から、ダウンロードしたJSONに書いてある「client_email」のアドレスを共有
プログラム作成
sample.py
import requests
import gspread
from bs4 import BeautifulSoup
from oauth2client.service_account import ServiceAccountCredentials
url = "<取得するサイトのURL>"
r = requests.get(url)
soup = BeautifulSoup(r.text, 'lxml')
elements = soup.select('<取得したいタグ>')#select()メソッドを使っているので、「CSSセレクタ」で書ける
scope = ['https://spreadsheets.google.com/feeds',
'https://www.googleapis.com/auth/drive']
credentials = ServiceAccountCredentials.from_json_keyfile_name('<ダウンロードしたJSONファイル名>', scope)
gc = gspread.authorize(credentials)
wks = gc.open('<スプレッドシートの名前>').sheet1
for index, e in enumerate(elements):
num = index + 1 #スプレッドシートの番号に「0」が無いので先に1をプラス
wks.update_acell('A'+str(num) , e.get_text())