アフィリンクを生成するAPIがないので

  • 投稿日:
  • by
  • カテゴリ:

WatiNでIEを自動操縦。

アマソンやrakutenのようにAPIを提供してくれない場合は、せっせとブラウザ上でアフィリエイトリンクを作るハメに陥ります。

 

面倒というかそれだと自動化できないので、

WatiNでIEを開いて

アフィリエイトサイトにログインし、

指定したサービス、商品のURLと、コメントを入力して

リンクを生成する

プログラムをC#で書いています。

curlベースでやるべきような気もしましたが、カットアンドトライアンドエラー(笑)が多くなりそうなのでVisualStudioでデバッグできるC#へ逃げました。

 

WatiNは今のところ、いい感じです。なんちゃってクローラもこれで書けば楽だったかもしれませんな。わはは。

WatiN

Inspired by Watir development of WatiN started in December 2005 to make a similar kind of Web Application Testing possible for the .Net languages. Since then WatiN has grown into an easy to use, feature rich and stable framework. WatiN is developed in C# and aims to bring you an easy way to automate your tests with Internet Explorer and FireFox using .Net.

ポップアップも処理できて、いい感じ。

 

 

で、このプログラムをxen上のWinXP上で動かして、同じくxen上のLinuxと連携させないといけません。

いろいろ考えると面倒なので、MySQLで黒板テーブルを用意して、マシン間通信に使うことにしました。どうせ大した負荷はかかりませんのでね。

 

というわけで、MySQLの.NET用のコネクタ

MySQL  Download Connector-Net

チュートリアルはこの辺に。

MySQL MySQL 5.1 Reference Manual 20.2.4.1 Tutorial An Introduction to Connector-Net Programm

Code Snippet
  1. using System;
  2. using System.Data;
  3.  
  4. using MySql.Data;
  5. using MySql.Data.MySqlClient;
  6.  
  7. public class Tutorial1
  8. {
  9.     public static void Main()
  10.     {
  11.         string connStr = "server=localhost;user=root;database=world;port=3306;password=******;";
  12.         MySqlConnection conn = new MySqlConnection(connStr);
  13.         try
  14.         {
  15.             Console.WriteLine("Connecting to MySQL...");
  16.             conn.Open();
  17.             // Perform database operations
  18.         }
  19.         catch (Exception ex)
  20.         {
  21.             Console.WriteLine(ex.ToString());
  22.         }
  23.         conn.Close();
  24.         Console.WriteLine("Done.");
  25.     }
  26. }

こりゃ楽勝だ。

 

 

ほんとはLINQとかでやってみたいんですけど、貫通するまで時間がかかりそうなので、今回はパス。