現在「完了」、進捗 10%。工程は全17件中 17件完了。
最新報告「ご確認ありがとうございました」(2021-05-06 15:16:08)
管理部の経理処理を自動化を依頼されています。
ASP自動取得レポートの時の様に、ASPログイン→該当の箇所からCSV取得もしくは画面からテキスト取得で特定のスプレッドシートに毎月転記してくる処理の部分をお願いしたいです。
口頭で軽く補足したいので、業務日にdiscordでMTGをお願いします!
管理部タスクを少しでも軽減するため
このスプレッドシートの各ASPのタブに、月ごとに確定額(もしくは振込額、支払い額)を転記していく仕組みができるイメージです。
ログインURLと遷移方法、処理するタイミングをシートにまとめてあります。
不足などあれば遠慮なくご確認ください!
https://docs.google.com/spreadsheets/d/1upV-9uAclRMdPsgmtdhamqHV55LRY8kxGAPPAW57-DY/edit#gid=576165288
スクレイピング処理後、こちらで考えるので、特に気にしなくて大丈夫です。
各ASP取得内容
・どのタイミングで、
・どのページの、
・どの項目を取得し、
・どこへ出力するか
Appleに関してですが、現状請求情報が入っていないようです。
請求情報がはいっていないため、ページ上での数値の入力状態が不明なため、
スクリプトの記述ができません。
(数値が入った状態のHTML構造が必要)
https://gyazo.com/fbf57192049959e29ef8d56561bd11e1
→請求情報が入った段階で再度取得するスクリプトを組んでいきます。
こちら承知しました!
では、こちらは請求が入ってから改めて対応を依頼させていただきますね!
YOUTUBE(Googleアカウント)のログインは、対策されており
GEOと同じようにスクレイピングは厳しそうです。
こちらも畏まりました!
@affiliateの内容も確認できました!
ご対応ありがとうございました
一旦、こちらから依頼した内容は確認が取れましたのでチケットクローズしていただいて問題ございません!
中田
上記スプレッドシートに出力しています。
ご確認をお願いいたします
中田
YOUTUBEの報酬額を取得するための管理画面のログインが行えませんでした。
原因は、スクレイピングの対策がされているためです。
https://gyazo.com/6477a0580f1ba55e935661efa1ec0d80
YOUTUBE(Googleアカウント)のログインは、対策されており
GEOと同じようにスクレイピングは厳しそうです。
こちらも一旦飛ばします
中田
アカウント情報ありがとうございます
Appleに関してですが、現状請求情報が入っていないようです。
請求情報がはいっていないため、ページ上での数値の入力状態が不明なため、
スクリプトの記述ができません。
(数値が入った状態のHTML構造が必要)
https://gyazo.com/fbf57192049959e29ef8d56561bd11e1
→請求情報が入った段階で再度取得するスクリプトを組んでいきます。
Appleアフィリエイトプログラム ログインできませんでした
担当者に確認したところ、過去パスをそのまま記録していた様です。
ログイン情報修正しましたので、再度お試しください。
以下3つは、アカウント情報等をご確認頂いた後対応します
・Youtube
・@affiliate
こちら、お待たせして申し訳ございません…!
ログイン情報記載しましたので、ご対応よろしくお願いします
中田
以下対応しました。
以下3つは、アカウント情報等をご確認頂いた後対応します 
・Youtube
・@affiliate
・Appleアフィリエイトプログラム
中田
Appleアフィリエイトプログラム
https://gyazo.com/2dd3ff2f4f8fc6da6b7162441c7e20da
使用したログイン情報は以下62行目になります。
https://docs.google.com/spreadsheets/d/1upV-9uAclRMdPsgmtdhamqHV55LRY8kxGAPPAW57-DY/edit#gid=235581658
ご確認をお願いいたします
中田
amazonの取得リストを拝見すると、何故か3月分の支払いレコードが2回入っている様なので、
ロジックを確認していただけますと幸いです!
こちらテストで、重複したもので削除して修正しました、
Link-Aについて、条件の変更をお願いしたく
取得タイミングを翌月末日→翌々月初日に
こちらかしこまりました
追加で以下スプレッドシート出力しています。
AdNetwork(アイモバイル)
https://docs.google.com/spreadsheets/d/1upV-9uAclRMdPsgmtdhamqHV55LRY8kxGAPPAW57-DY/edit#gid=553832275
ZucksAffiliate
https://docs.google.com/spreadsheets/d/1upV-9uAclRMdPsgmtdhamqHV55LRY8kxGAPPAW57-DY/edit#gid=1562031354
Zucksアドネットワーク
https://docs.google.com/spreadsheets/d/1upV-9uAclRMdPsgmtdhamqHV55LRY8kxGAPPAW57-DY/edit#gid=1516173027
上からamazonまでの出力内容確認が終わりました。
https://docs.google.com/spreadsheets/d/1k5O9AbYsbP1jAF-h-YzQBTbMvi_NvQLvmuD4X4Prbos/edit#gid=118507698
作業状況のシートに竹谷チェック項目(J列)を作成し、こちらで確認状況を記録しております。
一点、修正をお願いしたく!
amazonの取得リストを拝見すると、何故か3月分の支払いレコードが2回入っている様なので、
ロジックを確認していただけますと幸いです!
https://docs.google.com/spreadsheets/d/1upV-9uAclRMdPsgmtdhamqHV55LRY8kxGAPPAW57-DY/edit#gid=1961511015
https://gyazo.com/0966f9ff10e6889285e93d9f8d6a4c32
>引き続き、対応していきます。
>進捗内容をコメントに追記していきます。
ありがとうございます。
よろしくお願いいたします!
また、Link-Aについて、条件の変更をお願いしたく
取得タイミングを翌月末日→翌々月初日に変えてください。
中田
reCAPTCHの突破は難しいですね…。GEOは、対応なしで大丈夫です!
はい、申し訳ございません。
よろしくお願いいたします
引き続き、対応していきます。
進捗内容をコメントに追記していきます。
項目指定できていなかったASPも、さくさく進めていただいてありがとうございます…!
VCまで確認しました!
問題ありません!!
>理由は、ログインの際「reCAPTCHA」があり、ロボット対策されているためです。
こちらかしこまりました!
reCAPTCHの突破は難しいですね…。GEOは、対応なしで大丈夫です!
中田
以下5サービス設定しました
お手すきの際ご確認をお願いいたします
valuecommerce
https://docs.google.com/spreadsheets/d/1upV-9uAclRMdPsgmtdhamqHV55LRY8kxGAPPAW57-DY/edit#gid=1881620752
Amazonアソシエイト
https://docs.google.com/spreadsheets/d/1upV-9uAclRMdPsgmtdhamqHV55LRY8kxGAPPAW57-DY/edit#gid=1961511015
GEOのデータ取得に関して報告があります。
スクレイピングでの自動化対応ができませんでした。
理由は、ログインの際「reCAPTCHA」があり、ロボット対策されているためです。
突破は難しいです。
GEOを飛ばして作業を行っています
中田
こちらも設定しました
中田
以下3サービス設定しました
xmax
https://docs.google.com/spreadsheets/d/1upV-9uAclRMdPsgmtdhamqHV55LRY8kxGAPPAW57-DY/edit#gid=0
お手すきの際ご確認をお願いいたします
中田
申し訳ございませんでした
「支払金額(税込)」に修正しました
迅速にご対応いただき大変ありがたいです!!!!
一点だけ修正を


[引用 aid=1457893 time=1618448459]afiB
https://docs.google.com/spreadsheets/d/1upV-9uAclRMdPsgmtdhamqHV55LRY8kxGAPPAW57-DY/edit#gid=536149214 プレビュー[/引用]
こちら、「消費税」の金額が入ってきてしまってる様なので、「支払金額(税込)」の項目の金額を出力お願いします!
https://gyazo.com/786d1e2675fc8fea3c589a81be3b9f27
中田
作業状況スプレッドシート
https://docs.google.com/spreadsheets/d/1k5O9AbYsbP1jAF-h-YzQBTbMvi_NvQLvmuD4X4Prbos/edit#gid=118507698
crontabに登録内容:
50 18 01 * * cd /Users/plus/Desktop/python/accounting_processing/; bash -l -c 'python3 afib.py'
50 18 01 * * cd /Users/plus/Desktop/python/accounting_processing/; bash -l -c 'python3 felmat.py'
変更点あればご連絡ください
中田
# 1.ファイル名を指定してワークブックを選択
workbook = gc.open('ファイル名')
# 2.スプレッドシートキーを指定してワークブックを選択(おすすめ)
workbook = gc.open_by_key('スプレッドシートキー')
# 3.URLを指定してワークブックを選択を開く
workbook = gc.open_by_url('URL')
#################################
# パラメータ
workbook.title #スプレッドシートのタイトルを取得する
workbook.id #スプレッドシートキーを取得する
#### 前提条件 #######################
workbook = gc.open_by_key('スプレッドシートキー')
####################################
# シートの一覧を一次元配列に格納する
worksheet_list = workbook.worksheets()
#################################
# パラメータや便利なチップス
worksheet_list[0].title #一番最初のワークシートのタイトルを取得する
worksheet_list[0].id #一番最初のワークシートIDを取得する
len(worksheet_list) #ワークシートの一覧数を取得
#### 前提条件 #######################
workbook = gc.open_by_key('スプレッドシートキー')
####################################
# 1.最初のワークシートを指定
# [注意]workbook.sheet5のように、1以外の数字は指定できない
worksheet = workbook.sheet1
# 2.ワークシート名を直接指定
worksheet = workbook.worksheet('ワークシート名')
# 3.開きたいワークシートのインデックスを指定
# [補足]ワークシートのインデックスは0から始まる
# get_worksheet(4)は、5番目のワークシートを選択する
worksheet = workbook.get_worksheet(4)
# [応用]最後のワークシートを指定:len(worksheet_list)でワークシートの一覧数を取得
worksheet = workbook.get_worksheet(len(worksheet_list)-1)
####################################
# パラメータ
worksheet.title # ワークシート名を取得する
worksheet.update_title('新しいワークシート名') # ワークシート名を変更する
worksheet.id # ワークシートIDを取得する
#### 前提条件 #######################
workbook = gc.open_by_key('スプレッドシートキー')
worksheet = workbook.sheet1
####################################
# ワークシートを末尾に新規作成する
# [補足]100行26列の新しいワークシートを作成
workbook.add_worksheet(title='ワークシート名', rows=100, cols=26)
# 指定したワークシートを削除する
workbook.del_worksheet(worksheet)
#### 前提条件 #######################
workbook = gc.open_by_key('スプレッドシートキー')
worksheet = workbook.sheet1
####################################
# 1.ラベルを指定してセルの値を取得する
cell_value = worksheet.acell('B1').value
# 2.行番号と列番号を指定してセルの値を取得する(左:行番号、右:列番号)
cell_value = worksheet.cell(1, 2).value
# 3.ラベルを指定して複数セルの値を一次元配列に格納する
range = worksheet.range('A1:B10')
#### 前提条件 #######################
workbook = gc.open_by_key('スプレッドシートキー')
worksheet = workbook.sheet1
####################################
# 1.行の値を全て一次元配列に格納する
# [第1引数]値を取得したい行番号
row_list = worksheet.row_values(1)
# [補足]第2引数が2の場合、値ではなく数式を格納する
row_list = worksheet.row_values(1,2)
# 2.列の値を全て一次元配列に格納する
# [第1引数]値を取得したい列番号
col_list = worksheet.col_values(1)
# [補足]第2引数が2の場合、値ではなく数式を格納する
col_list = worksheet.col_values(1,2)
# 3.ワークシートの値の全てを多次元配列に格納する
cell_list = worksheet.get_all_values()
# 4.ワークシートの値の全てを辞書型のリストに格納する
# [第1引数]empty2zero - 空のセルをゼロに変換するかどうかを指定する
# [第2引数]head - スプレッドシートの数値に従って1から始まるキーとして使用する行を決定する
# [第3引数]default_blank - 空のセルを空の文字列またはゼロ以外の何かに変換するかどうかを指定する
cell_dict = worksheet.get_all_records(empty2zero=False、head=1、default_blank='')
#### 前提条件 #######################
workbook = gc.open_by_key('スプレッドシートキー')
worksheet = workbook.sheet1
####################################
# 1.ラベルを指定してセルの値を更新する
worksheet.update_acell('B1','更新する値')
# 2.行番号と列番号を指定してセルの値を更新する
worksheet.update_cell(1, 2, '更新する値')
# 3.セルの値をまとめて更新する(バッチ処理)
cell_list = worksheet.range('A1:B10')
for cell in cell_list:
cell.value = '更新する値'
worksheet.update_cells(cell_list)
#### 前提条件 #######################
import re #Pythonで正規表現を使うライブラリ
workbook = gc.open_by_key('スプレッドシートキー')
worksheet = workbook.sheet1
####################################
# 1.検索
# [補足]シート内に同じ文字列が複数ある場合、1番最初に出現したセルにマッチする
cell = worksheet.find('検索したい文字列')
# [応用]正規表現で検索
value_re = re.compile(r'正規表現')
cell = worksheet.find(value_re)
##パラメータ
cell.row # 行番号を取得
cell.col # 列番号を取得
# 2.置換
worksheet.update_cell(cell.row, cell.col, '更新する値')
#### 前提条件 #######################
import re #Pythonで正規表現を使うライブラリ
workbook = gc.open_by_key('スプレッドシートキー')
worksheet = workbook.sheet1
####################################
# 1.検索
# 一致したものは、一次元配列に格納する
cell_list = worksheet.findall('検索したい文字列')
# [応用]正規表現で検索
value_re = re.compile(r'正規表現')
cell_list = worksheet.findall(value_re)
# 2.置換
for cell in cell_list:
cell.value = '更新する値'
worksheet.update_cells(cell_list)
#### 前提条件 #######################
workbook = gc.open_by_key('スプレッドシートキー')
worksheet = workbook.sheet1
####################################
worksheet.add_cols(col) #col数だけ列を増やす
worksheet.add_rows(row) #row数だけ行を増やす
worksheet.col_count #選択したワークシートの列数を取得
worksheet.row_count #選択したワークシートの行数を取得
worksheet.delete_row(row) #選択した行を削除する
worksheet.clear() #選択したワークシートの値を全てクリアする
中田
A8の対応だけ、個別に連絡が来る仕組みに変更になってるそうなので、こちらの対応はなしでお願いします
了解しました!
A8の対応だけ、個別に連絡が来る仕組みに変更になってるそうなので、こちらの対応はなしでお願いします


確認不足ですみません…!
中田
ナカタ作成のシートを共有していたつもりで話していましたが、お伝えしていませんでした。
以下スプレッドシートの内容いただきたい
https://docs.google.com/spreadsheets/d/1k5O9AbYsbP1jAF-h-YzQBTbMvi_NvQLvmuD4X4Prbos/edit?usp=sharing
すみません、こちら作成いただいてたんですね!!
見逃してました…。
いえ、中田のほうが忘れていました
昨日の時点で作成しお伝えしようとして送信ボタンおしてなかったです
申し訳ございません!
一旦入力できるところで、結構ですのでお願いできればと思います。
以下スプレッドシートの内容いただきたい
https://docs.google.com/spreadsheets/d/1k5O9AbYsbP1jAF-h-YzQBTbMvi_NvQLvmuD4X4Prbos/edit?usp=sharing
すみません、こちら作成いただいてたんですね!!
見逃してました…。
竹谷でまとめた内容、このシートに記載していきますね!
中田
4/8 MTG 9:30〜
以下スプレッドシートの内容いただきたい
https://docs.google.com/spreadsheets/d/1k5O9AbYsbP1jAF-h-YzQBTbMvi_NvQLvmuD4X4Prbos/edit?usp=sharing
かしこまりました、よろしくお願いいたします