PythonとSeleniumでスクレイピングのようなこと


知り合いに、

「サブスク系のサービスの領収書を自動でダウンロードできないか?」

と言われて、なんかいけそうな気がしたのでPython入門がてらスクレイピングをしてみて、ダウンロードはできなかった話です

今回のお題

fre○eで毎月発行されている利用料の領収書を、自動でダウンロードする

やったこと

BeautifulSoupを利用してhtmlを解析して領収書のダウンロードリンクを収集してみる
https://qiita.com/Azunyan1111/items/9b3d16428d2bcc7c9406

結果
fr○eeの認証越えられなかった。終了
でもPythonに入門できたからよかったよね

Seleniumでブラウザを操作して物理で領収書のリンク収集してダウンロード
https://qiita.com/edo_m18/items/ba7d8a95818e9c0552d9

結果
収集はできたがダウンロードができなかった、、。

以下、収集するまでの方法

前提
mac(Pythonは入ってる)

準備

pip install selenium

getFromFre.py

# coding: UTF-8
from selenium import webdriver

# 設定
LoginURL = "https://accounts.secure.freee.co.jp/login"
URL = "https://secure.freee.co.jp/billing"

EMAIL = "ログインメールアドレス"
PASS = "パスワード"

# freeeから取得する処理
driver = webdriver.Chrome("./chromedriver") #ドライバーへのパスを記述

driver.get(LoginURL)

email = driver.find_element_by_name('email')
email.send_keys(EMAIL)

password = driver.find_element_by_name('password')
password.send_keys(PASS)

password.submit()

driver.get(URL)

aList = driver.find_elements_by_css_selector("a[href^='/billing/receipts']")

for a in aList:
    src = a.get_attribute("href")
    print(src)

driver.close()
driver.quit()

これ実行すれば領収書のURLは収集できた、、

参考

https://kurozumi.github.io/selenium-python/
https://qiita.com/kinpira/items/383b0fbee6bf229ea03d