###前提・実現したいこと
表題の通り、グーグルスプレッドシートにpythonでスクレイピングしたものを、書き込みたいです。
具体的に申し上げますと、自社のブログのトップページ記事一覧から
「タイトル」「メイン画像URL」「記事リンク」をすべてスクレイピングして、
スクレイピングした結果をスプレッドシートの指定した列に出力したいと思っております。
スプレッドシートにスクレイピングしたものが下記のような結果が出来ればと思っています。
python→スプレッドシートへの接続はできています。
スクレイピング自体も成功しております。
###発生している問題
列を指定して書き込みしたいのですが、列の指定方法が分からず、うまくいきません。
gspread を使用しているので、リファレンスを見て様々試してはいるのですが、
1つのセルにしか書き込みできず困っております。
###該当のソースコード
############################## スプレッドシートにアクセス import json import gspread from oauth2client.service_account import ServiceAccountCredentials scope = ['https://spreadsheets.google.com/feeds'] doc_id = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX' # スプレッドシートのID import os path = os.path.expanduser('YYYYYYYYYYYYYYYYY.json') #jsonファイルの場所 credentials = ServiceAccountCredentials.from_json_keyfile_name(path, scope) client = gspread.authorize(credentials) gfile = client.open_by_key(doc_id) #スプレッドシートIDのURLを開く worksheet = gfile.sheet1 #指定されたシートを開く ############################## ここからスクレイピング import requests from bs4 import BeautifulSoup ############################## ここからブログ url = "http://www.hogehoge.jp" # ブログURL r = requests.get(url) soup = BeautifulSoup(r.text, "html.parser") elm = soup.find("ul", id="headline-recent") # ブログトップページの記事一覧 for elm_child in elm.find_all("h4"): worksheet.update_acell('A1', elm_child.text) # 記事のタイトル for elm_child in elm.find_all("img"): worksheet.update_acell('B1',elm_child.get("src")) # 記事のメイン画像URL for elm_child in elm.find_all(class_="image"): worksheet.update_acell('C1',elm_child.get("href")) # 記事のリンク
###試したこと
http://www.yoheim.net/blog.php?q=20160205
ここに記載されているリファレンスに則って様々試してみましたが、
列を指定しての書き込みが分からないです。。。
###補足情報(言語/FW/ツール等のバージョンなど)
python3系
windows10

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