2/4 楽天クレカのダウンロード自動化

 ■今日やったこと

  • 楽天クレカのダウンロード自動化
  • Gドライブ内指定フォルダへのローカルファイルのアップロード
  • osでファイル削除

 ■楽天クレカのダウンロード自動化

つまづいたところ:classが複数あるときのfind_element_by_〜がうまくいかない



CSVダウンロードをするボタンに使われているclass(複数)を指定してダウンロードしたいのだが、うまくいかない…。

csv_download = driver.find_element_by_css_selector(".stmt-c-btn-dl.stmt-csv-btn")

→できない

csv_download = driver.find_element_by_xpath("//*[@class='stmt-c-btn-dl stmt-csv-btn']")

→できたけどしばらく経ったら使えなくなった。なぜ…

それ以外は問題なし。

 ■Gドライブ内指定フォルダへのローカルファイルのアップロード

お決まりのやつ↓を書いたあと、CreateFileをするのだが、
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
gauth = GoogleAuth()
gauth.LocalWebserverAuth()
drive= GoogleDrive(gauth)
このあとただCreateFileを実行するだけだと、
・「マイドライブ」直下(直下?という表現でいいのかな)に格納されてしまう
・ファイル名はファイルパスがそのまま適用されてしまう
というかんじで管理上よくないので、
f = drive.CreateFile({'title': "任意のファイル名.csv",
                                    'parents': [{"id" : 格納したいGフォルダのID}]}) 
こんなかんじでファイル名と格納先のフォルダID(=URL末尾の文字列)を指定する。
その上で、
f.SetContentFile(ローカルファイルのパス)
とすると、ファイル名に任意の名前をつけた上で、好きなフォルダに格納できる。

 ■osでファイル削除

import os
os.remove(ファイルのパス)

コメント

このブログの人気の投稿

2/3 Google Driveを操作するための準備 ほか(pydrive ,Google Drive API)