Pythonで自動ログイン、ダウンロード、ファイル移動
シゴトがはかどる Python自動処理の教科書 クジラ飛行机 (著) を読んで役に立った部分のメモ
処理の内容は以下の通り 1.ログインが必要なサイトに自動ログイン 2.ダウンロード箇所まで移動 3.ファイル名を指定してダウンロード 4.ダウンロードしたファイルを指定の箇所に移動させる
import shutil, time, requests, urllib, datetime from bs4 import BeautifulSoup loginURL = "任意のURL" + "ログインボタンを押したら追加されるパラメータ" userId, password = ("適当なユーザー名", "適当なパスワード") date = datetime.datetime.now().strftime('%Y%m%d%H%M') print(date) fileName = f'./{date}.csv' def loginDownload(): session = requests.Session() res = session.post(loginURL, params={ "ログインフォームのユーザー名に対応するnameタグ" : userId, "ログインフォームのパスワードに対応するnameタグ" : password }) time.sleep(1) url1 = getLink(res.text, "任意のラベル") mypageHTML = session.get(url1).text time.sleep(1) url2 = getLink(mypageHTML, "任意のラベル") download(session, url2) print("ダウンロードに成功しました!") def getLink(html, label): soup = BeautifulSoup(html, "html.parser") for a in soup.find_all("a"): if label in a.text: url = urllib.parse.urljoin(loginURL, a["href"]) print("url = ", url) return url print(label + "が見つかりません") quit() def download(session, csvURL): res = session.get(csvURL) with open(fileName, "wt") as fp: fp.write(res.text) if __name__ == "__main__": loginDownload() shutil.move(fileName, "./test")
業務で必要な部分の一部を学ぶことができた。 ダウンロードしたファイルの中身について処理を行う必要があるが、 追々追記予定。