投稿者「管理人」のアーカイブ

Ruby+rubypressでWordPress記事、本文、記事URLを全取得する

rubypressのgetPosts(というかwordpress_xmlrpc.methodsのGetPosts ) が、デフォルトでは10記事分までしか、記事データを取ってこない。
下記、参考

https://python-wordpress-xmlrpc.readthedocs.io/en/latest/examples/posts.html
# By default, wordpress_xmlrpc.methods.posts.GetPosts returns 10 posts in reverse-chronological order (based on their publish date).

上記を参考にして、上限無しで取得できるようにしてみた。

require 'rubypress'

#Windowsで、文字化けしない用
Encoding.default_internal = 'UTF-8'
STDERR.set_encoding( 'UTF-8',:undef => :replace,:invalid=>:replace )

 wp_rubypress_client = Rubypress::Client.new(
   host: 'xxxxxxxxxxx.com',    #WPのドメイン名(URLではダメ)
   username: 'user', # WordPress username
   password: 'pass'  # WordPress password
 )
 
offset=0
increment = 200
posts = []
while true
    posts_tmp = wp_rubypress_client.getPosts(
    	filter: {offset: offset ,number: increment },
    	fields: [:post_title, :post_content, :guid] # タイトル,本文,記事さえあれば良いという場合指定 
    )
    break if posts_tmp.size == 0
    posts += posts_tmp
    break if posts_tmp.size <= increment
    offset = offset + increment
end

posts.each do |post|  #WPの投稿記事毎のお仕事
	puts "guid= #{post['guid']}"
	puts "post_title= #{post['post_title']}"
	puts "post_content= #{post['post_content']}"
end
↓ 参考になるブログがたくさんあります!ぜひどうぞ! ↓
にほんブログ村 その他日記ブログ 日々のできごとへ

RubyでクラウドワークスのタスクCSV記事をMT形式に変換してみた

環境:windows10 + ruby 2.5.3

クラウドワークスのタスクのCSV記事(SJISで保存)を、MT形式ファイル(SJIS)に保存

work_path = ‘C:/work/’  (c:\work\) に置かれている *.csv を読み込み、
C:/work/mtdata.txt  (c:\work\mtdata.txt) にMT形式ファイルを保存

# codng: utf-8
require 'csv'

Encoding.default_internal = 'UTF-8'
# 入出力エンコード設定確認用
puts "Encoding.default_external = #{Encoding.default_external}"  # =>Windows-31J
puts "Encoding.default_internal = #{Encoding.default_internal}"  # =>UTF-8

work_path = 'C:/work/'
mt_file_name = work_path + "mtdata.txt"
total_line_no = 0
File.delete(mt_file_name) if File.exists?(mt_file_name)
File.open(mt_file_name, "w") do |mt_file|   # MTファイルオープン
    csv_filenames = Dir.glob(work_path + '*.csv') # workにある *.csvファイル
    puts csv_filenames
    puts "start..."
    csv_filenames.each do |csv_file|
        puts csv_file
        # 作業ID	作業者	作業者ページURL	承認日時	1. 記事タイトル	2. 記事本文
        csv_data = CSV.read(csv_file, headers: true)
        line_no = 0
        csv_data.each do |data|
            line_no += 1
            total_line_no +=1
            title = data["1. 記事タイトル"]
            kiji = data["2. 記事本文"]
            mt_form = <<~MTFORM 
                AUTHOR: 
                TITLE: #{title}
                BASENAME: post#{total_line_no}
                STATUS: Future
                ALLOW COMMENTS: 0
                CONVERT BREAKS: __default__
                ALLOW PINGS: 0
                PRIMARY CATEGORY: 
                CATEGORY: 
                AUTHOR: 
                AUTHOR: 

                DATE: 07/04/2016 23:00:36
                -----
                BODY:
                #{kiji}
                -----
                EXTENDED BODY:

                -----
                EXCERPT:

                -----
                KEYWORDS:

                -----


                --------
            MTFORM
            mt_file.write(mt_form)    
        end
        puts "\n#{total_line_no}:#{line_no}"
    end
end
↓ 参考になるブログがたくさんあります!ぜひどうぞ! ↓
にほんブログ村 その他日記ブログ 日々のできごとへ

RubyをWindows10にインストールと環境設定してみた

recommendバージョンの  Ruby+Devkit 2.5.3-1 (x64) をインストール
Use UTF-8 as defalut で
MYSYS2 を
1 Enter
2 Enter
3 Enter
でインストール
■Firefox geckodriver インストール
ダウンロードした .zip を展開した中にあるgeckodriver.exe をRubyをインストールしてパスを通したフォルダ( C:\Ruby25-x64\bin など )にコピー

■chromedriver インストール (chromedriverは、クリックできないエレメントがあるため、基本、使用せず)

ダウンロードした .zip を展開した中にある chromedriver.exe をRubyをインストールしてパスを通したフォルダ( C:\Ruby25-x64\bin など )にコピー
■ git インストール
    or
TortoiseGit – Windows Shell Interface to Git インストール
  本体 : Download TortoiseGit 2.7.0 – 64-bit
  続けて、下にある下記も
  Language Packs :  Japanese
■gem インストール
cmd で
gem install rubocop
gem install ruby-debug-ide
gem install clipboard
gem install selenium-webdriver
gem install rufo
Visual Studio Code インストール
Visual Studio Code 起動し、extension インストール
Restart NOWが出てきたら、 Visual Studio Code をリスタート
Japanese Language Pack for VS Code
    インストールが完了したら、Japanese Language Pack を読み込むために locale.json 内で “locale”: “ja” を設定します。locale.json を編集するには Ctrl+Shift+P を押してコマンド パレットを表示させ、”config” と入力し、利用できるコマンドのリストをフィルター処理してから Configure Language コマンドを選択します。詳細については Docs を参照してください。
Japanese Word Handler
Ruby
(ruby-rubocop)
↓ 参考になるブログがたくさんあります!ぜひどうぞ! ↓
にほんブログ村 その他日記ブログ 日々のできごとへ

アフィリエイトで複数ASPの発生・売り上げを一括で集計・分析・把握する方法(Alumina ASP)

アフィリエイトで複数のサイト持っていて、複数のASPを使っている場合、どのサイトで何がどれくらい売れた(発生した)のか?を把握しておくのは、今後の作戦を考える上で重要となります。

そのためには、ASP側の設定を適切に行い、ASPの管理画面で、どのサイトで発生したのかが分かるようにするという方法があります。

しかし、
・アフィリエイトリンクを複数のサイトで使い回していたり
・ASPには、どのサイトやどのキーワードで発生しているのかを把握して欲しくない
など、諸々の理由でASP画面には、発生している本当のサイトの情報が表示されないようにしている方は少なくないと思います。

この場合、ASPの管理画面でクリック日時を調べ、アクセスログでその日時を付き合わせて、どのサイトでの発生したのかを調べていくことになります。

この調査作業は単調で、発生数が少ないうちは、まだいいのですが、発生数が増えてくるとなかなか大変なものになります。

そのため、私は、Alumina(アルミナ)[月額980円]+ASP拡張[月額1,280円] & アクセスログ で、サイトの売り上げ(発生)の把握を省力化しています。

Alumina(アルミナ)で対応しているASPとアクセス解析ツール

ちなみに、Alumina(アルミナ)でインポートできるASPは下記です(2018/12/10現在)

  • A8.net
  • Affiliate Hub Final
  • JANet
  • アクセストレード
  • アフィリエイトB
  • クロスフィニティ
  • バリューコマース
  • レントラックス
  • リンクシェア
  • トラフィックゲート
  • フェルマ
  • Link-A
  • SCAN
  • ロイユニオン
  • ハーツリンク
  • websync
  • アイモバイル
  • メディパートナー
  • アフィタウン
  • JTP Offers
  • Mcbee
  • イークリック
  • ビューティ&ヘルスリサーチ
  • 成果報酬110番
  • パフォーマンスホライズン
  • 東京コンシューマシステム
  • Gアフィリエイト
  • アフィリエイトオーシャン
  • Top Team
  • バナーブリッジ
  • xmax
  • I AND C-Cruise
  • アドボンバー
  • アドモン

現時点でAlumina(アルミナ)ではサポートできていないASPでも、”その他”でマニュアルでインポートできる場合があります。

また、Alumina(アルミナ)でインポートできるアクセスログは(2018/12/10現在)

  • Research Artisan Lite
  • Research Artisan Pro
  • i2i

ちなみに、対応ASPとアクセスログは、順次増えています。

設定

アクセスログの準備

Alumina(アルミナ)で対応している下記アクセスログツールのいずれも使用していない場合、いずれかを設定し、アクセスログを収集をしてくだい。(私は、Research Artisan Proを使用していいます。)

 

Alumina(アルミナ)設定について

Alumina(アルミナ)に基本機能+ASPアドオンで申し込む

Alumina(アルミナ)お申し込み ページ
で、下図を参考に申し込み登録してください。
(「紹介者コード」に kenken3 を入れて申し込み登録された方には、当サイトの お問い合わせ で、登録時のメールアドレス情報で個別サポートさせてていただきます。)

Alumina(アルミナ)にアフィリエイトサイトを登録する

Alumina(アルミナ)申込後、使えるようになったら、Alumina(アルミナ)にログインし、自分のアフィエイトサイトを登録する。

しばらくすると、Alumina(アルミナ)が自動的にクロールして、サイトの情報を収集してくれます。

Alumina(アルミナ)にインポート

ASPの発生データとアクセス解析データが溜まったら、下記手順で、Alumina(アルミナ)でレポート作成できます。

  1. アクセス解析ツールからアクセスログCSVデータをダウンロード(期間やアクセス数により時間がかかる場合があります。)
  2. ASPのCSVデータをダウンロード
  3. Alumina(アルミナ)に、ASPのCSVデータをインポート
  4. Alumina(アルミナ)に、アクセスログCSVデータをインポート

以下、Research Artisan Pro と アクセストレード での具体的な手順です。

アクセス解析ツールからアクセスログCSVデータをダウンロード

Research Artisan Pro にログインし、「アクセス解析」画面で「エクスポート」→「ログのダウンロード」へ
「ダウンロード対象期間」は、ASPの発生データの最初の日時の1週間前ぐらいからを指定することをおすすめします。(アフィリエイトリンクがクリックしてから、発生するまでのタイムラグを考慮)
文字コードは、Shift JIS を選択し、「ダウンロードのリクエスト」をクリック。

「ダウンロードのリクエスト」をクリックした際に、正常に受け付けられると下記のメッセージが表示されます。

「ダウンロードのリクエスト」をクリックした際に、下図の様に「指定した期間のデータサイズが大き過ぎます。期間を短く設定してください。」というエラーメッセージが出る場合は、1回でダウンロードする期間を短くして、複数に分けてダウンロードしてください。(複数のリクエストを並行して行うのは、大丈夫です。)

ログ(csv)がダウンロードできるようになると、メールが送られてくるので、ログ(csv)をダウンロードします。

ASPのCSVデータをダウンロード

アクセストレードの場合、下図の手順でダウンロードします。
(他の対応ASPについては、Alumina(アルミナ)ログイン後のユーザーページにマニュアルがあります。)

Alumina(アルミナ)に、ASPのCSVデータをインポート

下図の様に
Alumina(アルミナ)で、「ASP成果」→「…」→「成果CSVインポート」
ポップアップウィンドウで、「成果CSVファイル」を、ASPからダウンロードした成果CSVファイルを指定し、「ASP会社」を選択し、「インポートする」をクリックします。

Alumina(アルミナ)に、アクセスログCSVデータをインポート

下図の様に
Alumina(アルミナ)で、「ASP成果」→「…」→「アクセス解析CSVインポート」 をクリック。
ポップアップウィンドウで、「アクセス解析CSVファイル」を、アクセス解析からダウンロードしたアクセスログ(CSV)ファイルを指定(複数指定が可能)する。
「データ検索方式」は、ASPの成果CSVにリファラURLが含まれている場合、「クリック時刻+リファラURL」を択し、それ以外は「クリック時刻のみ」を選択。
「アクセス解析サービス」は、アクセスログをダウンロードしたアクセス解析の種類を選択。
最後に「インポートする」をクリックする。

ASP成果レポート表示

ASP成果CSV と アクセス解析CSV のインポート後、分析完了すると、 ASP成果レポートが見れる様になります。

日別

月別

サイト別

リファラドメイン別

ASP別

プログラム別

コンバージョン別

成果別

 

↓ 参考になるブログがたくさんあります!ぜひどうぞ! ↓
にほんブログ村 その他日記ブログ 日々のできごとへ

リンク切れチェックツールについて

「Link Checker」Chrome拡張で、リンク切れがあるのに、問題無いような表示がされることがわかりました。
      → 結論: リンクチェックツールを「Check My Links」Chrome拡張に変更
テストデータ
「Link Checker」Chrome拡張 の結果
エラーがあるにかかわらず、下記を表示
1)「All links ok.」
2)アイコンもグリーンで「:)」
「Check My Links」Chrome拡張の結果
存在しないドメイン → Valid redirecting links
存在しない内部リンク → Invalid links
で表示。(Valid links:9 は、問題の無いリンクの数)
Check My Links オプション設定
(オプション変更時は、最下部の「Save my preferences」をクリックで、保存&反映される)
↓ 参考になるブログがたくさんあります!ぜひどうぞ! ↓
にほんブログ村 その他日記ブログ 日々のできごとへ