中田のタスク管理

タスクの詳細

完了
売上チェックツール - リファラー情報自動取得 API連携
依頼者 Eijiさん
進捗率
97.5%  作業状況
現在の作業 デバッグ可能なソースに修正
作業完了日 2025-08-07 08:11:18
タスクタイプ 通常
タグ ツール,ASP
現状サマリー

現在「完了」、進捗 0%。工程は全40件中 39件完了。

残りの工程: デバッグ可能なソースに修正

最新報告「案件追加」(2025-01-14 08:10:31)

タスクの詳細情報・説明 別ウィンドウで表示

依頼の詳細

各ASPの管理画面からリファラー情報自動取得
まずはフェルマ対応

日付/リファラーを取得

現状スプレッドシート管理している

対応者メモ・コメント 別ウィンドウで表示

以下のページで取得したリファラーデータを表示しています。
conohaのサーバにて自動取得させています。

サーバ情報:
https://www.evernote.com/shard/s490/sh/acb16ac3-15e7-485b-c298-d5aab7c1f96e/6cDF9xNfXgXIVmC3Pe3Hch34JOPFrvCj_7RZ6RW8xRLw75zbxaiUcQs1Ow

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

!/bin/bash

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(リファラー)

作業工程・チェックリスト

現在の進捗:39/40 97.5%
概要調査
取得・アクセス方法言語化
seleniumで操作
スクリプト化
テスト
Felmat
A8 - seleniumで操作
A8 - スクリプト化
afiB - seleniumで操作
afiB - スクリプト化
accesstrade - seleniumで操作
accesstrade - スクリプト化
Janet - seleniumで操作
Janet - スクリプト化
lacoco - seleniumで操作
lacoco - スクリプト化
TGafi - seleniumで操作
TGafi - スクリプト化
SHファイル作成/cron設定
Felmat - サーバ上スクリプト設定
A8 - サーバ上スクリプト設定
afiB - サーバ上スクリプト設定
accesstrade - サーバ上スクリプト設定
Janet - サーバ上スクリプト設定
lacoco - サーバ上スクリプト設定
TGafi - サーバ上スクリプト設定
プログラムID,広告ID,承認ステータスの取得
各ASPの指定日の合計金額表示
各ASPの件数表示
lacocoの「promotion」のみ、ラココ元ファイルE列「広告主名」を表示
A8の取得の不具合調査
afiB取得不具合
前日発生データ送信 - API連携
確定データ送信 - API連携
確定データ自動取得 - 調査
緊急用CSVアップフォームの作成
フィルタリングしてAPI連携
本番環境反映
デバッグ可能なソースに修正
Janet アカウントの追加

コメント コメントフォーム

中田
案件追加

以下対応

立花大輔:
アドの案件を3つ追加したので、Slack上の売上報告で途中で切れないよう調整お願いします

コメントのURLコピー 2025-01-14 08:10:31
中田
Janetアカウント追加 2

asp_data_get

slnm_janet_2005141.py
slnm_janet_2005790.py

asp_referrer

janet_pp2005141_referrer_get.py
janet_pp2005790_referrer_get.py

コメントのURLコピー 2024-12-24 19:06:34
中田
Janetアカウント追加

https://plus-exciting.slack.com/archives/C0278JFS9ED/p1728269414507259

【アカウントの追加依頼】
日次発生報告にJANetのアカウントの追加をお願いします(2アカウント)
・JANet(マルインシュランス)
ID:pp2005141
パス:plus0501
・JANet(オールスター)
ID:pp2005790
パス:plus0501

コメントのURLコピー 2024-10-08 08:19:45
中田
デバッグ可能なソースに修正

1.各スクレイピングしているファイルを関数化
2.app.pyにまとめ、取得できなかった場合再実行するスクリプトに
3.レスポンス、経過などをSlackで確認できる形に

コメントのURLコピー 2024-09-02 08:30:11
中田
フィルタリングしてAPI連携

発生データの件数の確認のテストを行うため、案件やサイトを条件設定し、件数を絞り込んで確認。

そのため、条件を絞り込んでAPI連携を行う。

小柳さんから条件いただく。

コメントのURLコピー 2024-05-02 08:45:58
中田
確定データ取得

取得がうまくいかないため取得方法変更
また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つ扱うものに修正

コメントのURLコピー 2024-03-07 09:14:37
中田
確定データ送信 - API連携

Conohaサーバで以下実行して連携:
0 6 1,15 * * /var/www/html/asp_referrer/confirm_asp_referrer_get.sh >> /var/log/cron.log 2>&1

```

!/bin/bash

現在の日付から半年前の月の初日を計算

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"

コメントのURLコピー 2024-02-19 12:13:22
中田
A8 サイト名取得

https://plus-exciting.slack.com/archives/C04QJNE8QSG/p1702880056163249


やりたいこと:A8の成果がどのサイトから発生したのかがわかるようにしたい
手順
①A8管理画面のレポート>成果報酬>成果発生レポートの成果別で該当の日付分のデータを取得
②ダウンロードしたデータのE列に記載の「サイト名」を「注文日・プログラム名」が同じデータの「Site」列に表示する
https://gyazo.com/6e9d01dae90faf35c176c7d28951cca5

https://gyazo.com/b54523fd3814c01e7946600620367e7f

コメントのURLコピー 2023-12-19 08:51:26
中田
afiB取得不具合

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)

コメントのURLコピー 2023-12-19 08:50:31
中田
A8の取得の不具合調査

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

コメントのURLコピー 2023-12-05 08:53:42
中田
Lacoco修正

lacocoの「promotion」のみ、ラココ元ファイルE列「広告主名」を表示

promotion = row[5]

promotion = row[4]


lacoco
管理ID クリック日時 成果日時 処理日 広告主名 プロモーション名

コメントのURLコピー 2023-10-31 19:50:11
中田
10/31

シートに合わせスクリプトを修正しました。
以下その内容です。
1.指定のないASPは“---“を格納する形となっています。
2.以下4項目を取得、項目名はスクリプト上の指定で以下になっています。
-プログラムID → Program_id
-広告ID → Ad_id
-承認ステータス → Status
-広告種別 → Ad_type
確認ページ:
https://plus-creative.xyz/nakata/asp_referrer/?date=2023-10-30

コメントのURLコピー 2023-10-31 19:48:37
中田

以下のページで取得したリファラーデータを表示しています。
conohaのサーバにて自動取得させています。

サーバ情報:
https://www.evernote.com/shard/s490/sh/acb16ac3-15e7-485b-c298-d5aab7c1f96e/6cDF9xNfXgXIVmC3Pe3Hch34JOPFrvCj_7RZ6RW8xRLw75zbxaiUcQs1Ow

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

!/bin/bash

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(リファラー)

コメントのURLコピー 2023-10-16 17:11:09
中田
10/12作業

/var/www/html/asp_referrer/lacoco_pluslacoco_referrer_get.py

/var/www/html/asp_referrer/tgafi_plus-tg_referrer_get.py

リファラー取得ファイル作成。

コメントのURLコピー 2023-10-12 19:11:21
中田
10/10作業

/var/www/html/asp_referrer/afiB_plus0501_referrer_get.py

/var/www/html/asp_referrer/accesstrade_plus0502_referrer_get.py

リファラー取得ファイル作成。

コメントのURLコピー 2023-10-10 18:25:33
中田

行った作業: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分に取得し、反映するようになる予定で,
この取得自動化を現在調査。


作業内容・手順

スクレイピング(作業中 16/20)

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設定

APIの作成(作業中 2/3)

1.APIベースファイルの作成@
2.データの受信、DBへのINSERT@
3.データの取得、DBのSELECT、リターン

ページヘの出力(作業中 2/4)

1.DBの接続、SELECT@
2.データの出力@
3.ページリンク
4.ページごとのデータの出し分け

コメントのURLコピー 2023-10-05 09:08:01
中田
9/27 作業進捗

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の作成、テスト

コメントのURLコピー 2023-09-28 08:27:23
中田

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

コメントのURLコピー 2023-09-27 09:17:53

コメントフォーム

名前
タイトル
コメント
    ファイルのアップロード
    (このエリアにドロップしてください)
    ※ ファイルのURLはコメント内に含めてください。
    Markdown記法が使用可能
    # 見出し h1
    ## 見出し h2
    ### 見出し h3
    #### 見出し h4
    ##### 見出し h5
    
    **太字**
    
    水平線
    ---
    
    > 引用テキスト
    > 引用テキスト 
    
    ```
    コードの表示(ブロック)
    コードの表示(ブロック)
    コードの表示(ブロック)
    ```
    
    * リスト
    * リスト
    * リスト
    
    0. 番号リスト
    0. 番号リスト