現在「完了」、進捗 0%。工程は全40件中 39件完了。
残りの工程: デバッグ可能なソースに修正
最新報告「案件追加」(2025-01-14 08:10:31)
各ASPの管理画面からリファラー情報自動取得
まずはフェルマ対応
日付/リファラーを取得
現状スプレッドシート管理している
以下のページで取得したリファラーデータを表示しています。
conohaのサーバにて自動取得させています。
0 3 * * * /sbin/reboot
40 8 * * * /var/www/html/asp_referrer/asp_referrer_get.sh >> /var/log/cron.log 2>&1
$ cat /var/www/html/asp_referrer/asp_referrer_get.sh
python3 /var/www/html/asp_referrer/Felmat_referrer_get.py
python3 /var/www/html/asp_referrer/A8_plus0501_referrer_get.py
python3 /var/www/html/asp_referrer/A8_plus02_referrer_get.py
python3 /var/www/html/asp_referrer/afiB_plus0501_referrer_get.py
python3 /var/www/html/asp_referrer/accesstrade_plus0502_referrer_get.py
python3 /var/www/html/asp_referrer/janet_pp1037642_referrer_get.py
python3 /var/www/html/asp_referrer/lacoco_pluslacoco_referrer_get.py
python3 /var/www/html/asp_referrer/tgafi_plus-tg_referrer_get.py
該当ページ:
https://plus-creative.xyz/nakata/asp_referrer/
plustest/plussp
毎日各ASPで昨日CV発生したリファラー情報を取得し、それをテーブル形式で表示するページです
ページスクショ:
https://gyazo.com/6264d46483eed4fb9fa3825f769012bc
ページ操作の説明:
①フィルターフォーム:
→年月日・ASP・アカウント名を選択して表示
https://gyazo.com/bcd183cf711828296654bae1b8cccf06
②フィルターリンク:
→今月・先月・昨日・各種ASPでフィルタリングするリンク
③CSVのダウンロードボタン:
→現在表示しているテーブルの内容をCSV化してダウンロード
④昇順/降順ソート:
→テーブルのデータの"Insert Date"を基準に昇順/降順でソートが可能
⑤テーブル表示:
→以下の項目で表示しています。
ID(一意に付与された番号)/ASP(ASP名)/Account(アカウントID)/Click Date(クリック日時)/Conversion Date(コンバージョン日時)/Promotion(プロモーション名)/Reward(発生額)/Site(管理サイト名)/Referrer URL(リファラー)
中田
slnm_janet_2005141.py
slnm_janet_2005790.py
janet_pp2005141_referrer_get.py
janet_pp2005790_referrer_get.py
中田
https://plus-exciting.slack.com/archives/C0278JFS9ED/p1728269414507259
【アカウントの追加依頼】
日次発生報告にJANetのアカウントの追加をお願いします(2アカウント)
・JANet(マルインシュランス)
ID:pp2005141
パス:plus0501
・JANet(オールスター)
ID:pp2005790
パス:plus0501
中田
1.各スクレイピングしているファイルを関数化
2.app.pyにまとめ、取得できなかった場合再実行するスクリプトに
3.レスポンス、経過などをSlackで確認できる形に
中田
発生データの件数の確認のテストを行うため、案件やサイトを条件設定し、件数を絞り込んで確認。
そのため、条件を絞り込んでAPI連携を行う。
小柳さんから条件いただく。
中田
取得がうまくいかないため取得方法変更
またINSERTに時間がかかるため
データベース変更
/plus-creative.xyz/public_html/nakata/asp_referrer/assets/db
approval_data.db
cancel_data.db
それに伴い、
/plus-creative.xyz/public_html/nakata/asp_referrer/api/index.php
の処理の変更で
データベースを3つ扱うものに修正
中田
Conohaサーバで以下実行して連携:
0 6 1,15 * * /var/www/html/asp_referrer/confirm_asp_referrer_get.sh >> /var/log/cron.log 2>&1
```
start_date=$(date -d "$(date -d '6 months ago' +'%Y-%m-01')" +'%Y-%m-%d')
end_date=$(date +'%Y-%m-01')
scripts=(
"/var/www/html/asp_referrer/confirm_A8_plus02_referrer_get.py"
"/var/www/html/asp_referrer/confirm_Felmat_referrer_get.py"
"/var/www/html/asp_referrer/confirm_afiB_plus0501_referrer_get.py"
"/var/www/html/asp_referrer/confirm_A8_plus0501_referrer_get.py"
"/var/www/html/asp_referrer/confirm_accesstrade_plus0502_referrer_get.py"
"/var/www/html/asp_referrer/confirm_janet_pp1037642_referrer_get.py"
"/var/www/html/asp_referrer/confirm_A8_plusAD_referrer_get.py"
)
cmd_counter=0
while [[ "$start_date"
中田
CSVアップフォームトップ
https://plus-creative.xyz/nakata/asp_referrer/csv_post/
CSVアップフォーム
https://plus-creative.xyz/nakata/asp_referrer/csv_post/a8_plus0501_csvPost.php
https://plus-creative.xyz/nakata/asp_referrer/csv_post/a8_plus02_csvPost.php
https://plus-creative.xyz/nakata/asp_referrer/csv_post/felmat_plus0501_csvPost.php
https://plus-creative.xyz/nakata/asp_referrer/csv_post/accesstrade_plus0502_csvPost.php
https://plus-creative.xyz/nakata/asp_referrer/csv_post/afiB_plus0501_csvPost.php
https://plus-creative.xyz/nakata/asp_referrer/csv_post/janet_pp1037642_csvPost.php
中田
https://plus-exciting.slack.com/archives/C04QJNE8QSG/p1702880056163249
やりたいこと:A8の成果がどのサイトから発生したのかがわかるようにしたい
手順
①A8管理画面のレポート>成果報酬>成果発生レポートの成果別で該当の日付分のデータを取得
②ダウンロードしたデータのE列に記載の「サイト名」を「注文日・プログラム名」が同じデータの「Site」列に表示する
https://gyazo.com/6e9d01dae90faf35c176c7d28951cca5
https://gyazo.com/b54523fd3814c01e7946600620367e7f
中田
python3 /var/www/html/asp_referrer/afiB_plus0501_referrer_get.py
エラーで取得できませんでした
An error occurred: Message: no such element: Unable to locate element: {"method":"css selector","selector":"#Contents > form > div > div > div > div > div > div.search_wrap > table:nth-child(1) > tbody > tr:nth-child(3) > td > ul > li > p.term_radio > label:nth-child(10) input"}
(Session info: headless chrome=86.0.4240.75)
中田
A8のみ自動取得で取れない場合がでてきた。
現状取れなかった場合、手動でスクリプト実行で取得はできている。
python3 /var/www/html/asp_referrer/A8_plus0501_referrer_get.py
python3 /var/www/html/asp_referrer/A8_plus02_referrer_get.py
python3 /var/www/html/asp_referrer_storms/A8_plus02_referrer_get.py
python3 /var/www/html/asp_referrer_storms/A8_stormppc2_referrer_get.py
中田
lacocoの「promotion」のみ、ラココ元ファイルE列「広告主名」を表示
promotion = row[5]
↓
promotion = row[4]
lacoco
管理ID クリック日時 成果日時 処理日 広告主名 プロモーション名
中田
シートに合わせスクリプトを修正しました。
以下その内容です。
1.指定のないASPは“---“を格納する形となっています。
2.以下4項目を取得、項目名はスクリプト上の指定で以下になっています。
-プログラムID → Program_id
-広告ID → Ad_id
-承認ステータス → Status
-広告種別 → Ad_type
確認ページ:
https://plus-creative.xyz/nakata/asp_referrer/?date=2023-10-30
中田
以下のページで取得したリファラーデータを表示しています。
conohaのサーバにて自動取得させています。
0 3 * * * /sbin/reboot
40 8 * * * /var/www/html/asp_referrer/asp_referrer_get.sh >> /var/log/cron.log 2>&1
$ cat /var/www/html/asp_referrer/asp_referrer_get.sh
python3 /var/www/html/asp_referrer/Felmat_referrer_get.py
python3 /var/www/html/asp_referrer/A8_plus0501_referrer_get.py
python3 /var/www/html/asp_referrer/A8_plus02_referrer_get.py
python3 /var/www/html/asp_referrer/afiB_plus0501_referrer_get.py
python3 /var/www/html/asp_referrer/accesstrade_plus0502_referrer_get.py
python3 /var/www/html/asp_referrer/janet_pp1037642_referrer_get.py
python3 /var/www/html/asp_referrer/lacoco_pluslacoco_referrer_get.py
python3 /var/www/html/asp_referrer/tgafi_plus-tg_referrer_get.py
該当ページ:
https://plus-creative.xyz/nakata/asp_referrer/
plustest/plussp
毎日各ASPで昨日CV発生したリファラー情報を取得し、それをテーブル形式で表示するページです
ページスクショ:
https://gyazo.com/6264d46483eed4fb9fa3825f769012bc
ページ操作の説明:
①フィルターフォーム:
→年月日・ASP・アカウント名を選択して表示
https://gyazo.com/bcd183cf711828296654bae1b8cccf06
②フィルターリンク:
→今月・先月・昨日・各種ASPでフィルタリングするリンク
③CSVのダウンロードボタン:
→現在表示しているテーブルの内容をCSV化してダウンロード
④昇順/降順ソート:
→テーブルのデータの"Insert Date"を基準に昇順/降順でソートが可能
⑤テーブル表示:
→以下の項目で表示しています。
ID(一意に付与された番号)/ASP(ASP名)/Account(アカウントID)/Click Date(クリック日時)/Conversion Date(コンバージョン日時)/Promotion(プロモーション名)/Reward(発生額)/Site(管理サイト名)/Referrer URL(リファラー)
中田
/var/www/html/asp_referrer/lacoco_pluslacoco_referrer_get.py
/var/www/html/asp_referrer/tgafi_plus-tg_referrer_get.py
リファラー取得ファイル作成。
中田
/var/www/html/asp_referrer/afiB_plus0501_referrer_get.py
/var/www/html/asp_referrer/accesstrade_plus0502_referrer_get.py
リファラー取得ファイル作成。
中田
行った作業:A8とFelmatのリファラー取得、データをDBに保存、データの表示
現在の作業:リファラー取得の自動化
以下のページでFelmatとA8のリファラーのデータを確認可能。
https://plus-creative.xyz/nakata/asp_referrer/index.php
plustest/plussp
(1)
ページ上部のフォームでフィルタリングが可能。
https://gyazo.com/f91326157f8f566a53244af84c726f8d
(2)
表の右上の「CSVのダウンロード」のボタンをクリックすることで、現在の表の内容をCSVでダウンロード可能。
https://gyazo.com/9a1121178efe3da54562b3ae44e8432d
現在の作業:リファラー取得の自動化
データは毎日8時50分に取得し、反映するようになる予定で,
この取得自動化を現在調査。
01.Felmat ログイン@
02.Felmat レポートページ@
03.Felmat 前日の日付設定@
04.Felmat CSVのダンロード@
05.Felmat CSVのファイル選択@
06.Felmat データの抽出@
07.Felmat データをAPIへ送る@
08.Felmat CSVの削除@
09.Felma サーバスクリプトの設定
10.Felmat cron設定
01.A8 ログイン@
02.A8 レポートページ@
03.A8 前日の日付設定@
04.A8 CSVのダンロード@
05.A8 CSVのファイル選択@
06.A8 データの抽出@
07.A8 データをAPIへ送る@
08.A8 CSVの削除@
09.A8 サーバスクリプトの設定
10.A8 cron設定
1.APIベースファイルの作成@
2.データの受信、DBへのINSERT@
3.データの取得、DBのSELECT、リターン
1.DBの接続、SELECT@
2.データの出力@
3.ページリンク
4.ページごとのデータの出し分け
中田
1.リファラー確認ページの作成
https://plus-creative.xyz/nakata/asp_referrer/index.php
plustest/plussp
現状2023/09/26のCSVデータをローカルで取得し、格納した状態。
2.スクレイピング
ローカルではCSVのデータの取得はできていますが、
これをリモートのサーバ上で、繰り返し行うためにはまた別の設定や環境が必要で、それを調査中。
3.API
スクレイピングしたものをSQLiteに格納するAPIの作成。
だいたい作成できているが、2の作業が完了後、再度テスト。
https://plus-creative.xyz/nakata/asp_referrer/api/index.php
残り作業:
2.スクレイピング、3.APIの作成、テスト
中田
CSVの全項目:
成果番号,Click日時,発生日時,確定日時,プロモーションID,プロモーション,広告種別,広告ID,広告画像サイズ,成果報酬(税抜),承認状態,デバイス,OS,サイトID,サイト,掲載URL,計測パラメータ,検索種別,検索エンジン,検索ワード,検索リスティングID,成約状況,報酬ID(商品ID),報酬名(商品名)
CSVから取得したい項目:
Click日時...click_date
発生日時...conversion_date
プロモーション...promotion
成果報酬(税抜)...reward
サイト...site
掲載URL...referrer_url
データベース:
referrer_tb
id
asp
account
click_date
conversion_date
promotion
reward
site
referrer_url
insert_date
daleted_flg
以下対応
立花大輔:
アドの案件を3つ追加したので、Slack上の売上報告で途中で切れないよう調整お願いします