実現したいこと
Pythonを使用してスクレイピングを行っています。
当初はローカルで行っていましたが、実行する回数が多くなったので、レンタルサーバーを使用して自動実行することを考えています。
スクレイピング自体はできたのですが、そもそものデータ書き出し方法がわかりません。
他者様のブログなどを参照に、テキストファイルをFTPでアップロードする方法まではできました。
ですが、現行の方法だと書き込み方法があまりスマートではなく、ファイルもテキストファイルではなくCSVファイルの保存を行いたいと思います。(初心者なので標準のCSVモジュールを使用して簡潔に実行できればと思っています。)
なお、最終的にはメールでcsvファイルを送信したいと考えています。
対応方法や下記コードの指摘等あればご教示ください。よろしくお願いいたします。
該当のソースコード
スクレイピングはできている前提で、ここではリストをテキストファイルを書き出してFTPへ保存するコードを掲載します。これは正常に動くことは確認できました。
Python
1import itertools 2import ftplib 3import io 4 5 6# 書き込むデータ 7data = [['a','A'], ['b', 'B'], ['c', 'C']] 8 9# 1行の文字列に 10row = [] 11for d in data: 12 row.append(d[0] + ',' +d[1] + '\n') 13 14line = ''.join(list(itertools.chain.from_iterable(row))) 15 16# 書き込み 17f = io.BytesIO(bytes(line, encoding="utf-8")) 18 19# ftpの接続 20ftp_host = 'xxxxxx.sakura.ne.jp' 21ftp_pass = 'xxxxxx' 22ftp_user = 'xxxxxx' 23 24ftp = ftplib.FTP(ftp_host) 25ftp.set_pasv("True") 26 27ftp.login(ftp_user, ftp_pass) 28ftp.cwd('/home/xxxxxx/xxxxxx/xxxxxx') 29 30ftp.storbinary('STOR /home/xxxxx/xxxxx/xxxxxx/test.txt',f) 31 32ftp.close()
補足情報(FW/ツールのバージョンなど)
レンタルサーバー:さくらのレンタルサーバ スタンダード
Python3.7
回答1件
あなたの回答
tips
プレビュー