やりたいこと
特定キーワードのGoogle検索結果を定点観測したい(競合の広告文、順位の変動など)。
イメージ例)
1 タイトルAAA aaa.com
2 タイトルBBB bbb.com
3 タイトルCCC ccc.com
4 タイトルDDD ddd.com
条件
・上記結果を計測ツールの兼ね合い上、Googleスプレッドシートに書き込みたい
・特定キーワードは100近くあり、毎日計測してデータとして残したい
相談内容
PythonのライブラリBeautifulSoupを使い、
スクレイピングするところまでは成功しましたが、
スプレッドシートに書き込む方法で悩んでいます。
Google APIを有効化して、ライブラリgspreadを使い、
直接書き込むことは出来ましたが、処理時間がかかり、
APIの使用条件に抵触するのではないかと懸念しています。
ちなみに、コードは以下です。
import gspread from oauth2client.service_account import ServiceAccountCredentials scope = ['https://spreadsheets.google.com/feeds','https://www.googleapis.com/auth/drive'] credentials = ServiceAccountCredentials.from_json_keyfile_name('<jsonファイル名>', scope) gc = gspread.authorize(credentials) wb = gc.open("<スプレッドファイル名>") sh = wb.worksheet("<スプレッドシート名>") for i in range(0,len(lists)): # lists はスクレイピングしたデータ # 例) #[['日付', 順位1, 'タイトル', 'URL1'], # ['日付', 順位2, 'タイトル', 'URL2']] sh.update_cell(i+1,1,lists[i][0]) sh.update_cell(i+1,2,lists[i][1]) sh.update_cell(i+1,3,lists[i][2]) sh.update_cell(i+1,4,lists[i][3])
別案としては、Python経由でスプレッドシートに書き込みはしないで、
一度CSVに保存をさせて、Google Apps Script で保存したCSVを
スプレッドシードに書き込むなども考えています。
本状況において、ご助言いただけると幸いです。
よろしくお願いします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/27 06:01
2019/01/27 06:43
2019/01/27 08:03