昨日から触り始めた楽天WEB SERVICEの商品検索用のPerlモジュールができた。
ということで、キーワードを渡せば、アフィリエイトコード付きで商品検索結果を取得することができるようになった。
モジュールそのものは、わりと汎用的に使えるようにしてあるので、オブジェクトを生成する際に、引数を指定すれば私以外の人でもアフィリエイトコード付きの商品検索結果を得ることが可能となる。
とはいえ、そのままだと私のデベロッパーIDを使うことになってしまうため、デベロッパーIDも指定してできるようにはなっている。
明日はAmazonのAPIを利用して、汎用モジュールを作成しようかと思ったが、実はNet::AmazonのようなモジュールがCPANには登録されているので、Amazonに関しては作る必要がない。
なので、明日はValueCommerceのAPI、もしもドロップシッピングのAPI(PDF)、Yahoo!ショッピングのAPIを使った検索モジュールを作成しようと思う。
Archive
For 4月, 2011
ここのところ、ずっとおろそかだった週末開発。
そろそろ本腰を入れようと思い、まずは楽天のWebサービスで提供されているAPIを触り始めた。
これの目論見は単純に自分が商品を買う際に、楽天やらAmazonやらあちこち回るのだが、それが面倒なので一箇所で済むようにしようということからである。
まぁ、自分の都合というやつだ。
でも、せっかく作るのでアフィリエイトの仕掛けはしておくのである。
とりあえずは楽天のAPIだが、次はAmazonのAPI、そして他のショップ系でAPIを提供しているところがあればそれをマージして一括検索する仕掛けを用意する予定である。
GW中には楽天とAmazonでの検索はできるようにして、公開しておきたいところだ。
CAcert.orgの方から、もうすぐ証明書の有効期限だよ、というメールが届いていた。
更新しなきゃなー、と思いつつ今日更新。
更新はいたって簡単で、メニューのサーバ証明書を表示させると、登録してある一覧が表示されるので、更新したいサイトを選択して、更新をかけると証明書を発行してくれるのである。
いやぁ、シンプルでいい。
更新後に一覧を表示すると以下のように期間が10月まで更新された。
東日本大震災もあったので、WikipediaのDumpデータを更新しておかないとなー、と思ったら、ちょうど4月20日版のDumpデータがでていた。
ということで、早速GeekWindのWikipediaデータの更新。
更新方法はすでに「Wikipedia dumpをGeekWindのMySQLに投入」「Wikipedia Dumpデータの更新」でやっと時と同じことをやるだけ。
なので、何も難しいことはない。
しいて言えば、データサイズが大きいので、若干時間がかかるくらいである。
# df -k Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 /dev/hda2 18222732 8261132 9020996 48% / # wget http://dumps.wikimedia.org/jawiki/latest/jawiki-latest-pages-articles.xml.bz2 # ls -al jawiki-latest-pages-articles.xml.bz2 -rw-r--r-- 1 root root 1369905817 4月 21 00:17 jawiki-latest-pages-articles.xml.bz2 # df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/hda2 18222732 9600244 7681884 56% / # bzip2 -dc jawiki-latest-pages-articles.xml.bz2 | sed -e 's/<redirect \/>//' | xml2sql # df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/hda2 18222732 14815192 2466936 86% / # ls -al *txt -rw-r--r-- 1 root root 129105541 Apr 23 14:23 page.txt -rw-r--r-- 1 root root 157209296 Apr 23 14:23 revision.txt -rw-r--r-- 1 root root 5048552864 Apr 23 14:23 text.txt # mysqlimport --fields-terminated-by='\t' --default-character-set=utf8 -u hogeuser -p -d -L wiki text.txt Enter password: gwiki.text: Records: 1469325 Deleted: 0 Skipped: 0 Warnings: 0 # mysqlimport --fields-terminated-by='\t' --default-character-set=utf8 -u hogeuser -p -d -L wiki revision.txt Enter password: gwiki.revision: Records: 1469325 Deleted: 0 Skipped: 0 Warnings: 2941346 # mysqlimport --fields-terminated-by='\t' --default-character-set=utf8 -u hogeuser -p -d -L wiki page.txt Enter password: gwiki.page: Records: 1469325 Deleted: 0 Skipped: 0 Warnings: 0 # df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/hda2 18222732 14985956 2296172 87% / #不要データを削除。 # df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/hda2 18222732 8431896 8850232 49% / # mysql -u hogeuser wiki -p mysql> select page_id, page_title from page where 1 limit 1469315,10; +---------+--------------------------------------------------------+ | page_id | page_title | +---------+--------------------------------------------------------+ | 2338282 | 多治見市の鉄道駅 | | 2338285 | 旧難波宮跡 | | 2338287 | イタリアのスポーツ関連のテンプレート | | 2338288 | 鶴宏史 | | 2338292 | アベゴンド | | 2338293 | 元気をだそう! | | 2338294 | 加藤光也 | | 2338296 | ニュース速報(裏世界)板 | | 2338297 | 揖斐川町の鉄道駅 | | 2338298 | 削除依頼/水玉ジャンクション | +---------+--------------------------------------------------------+ 10 rows in set (0.50 sec)
一応、東日本大震災のエントリーが存在しているかどうかをチェックしてみた。
mysql> select page_id, page_title from page where page_title='東日本大震災'; +---------+--------------------+ | page_id | page_title | +---------+--------------------+ | 2315451 | 東日本大震災 | | 2327271 | 東日本大震災 | +---------+--------------------+ 2 rows in set (0.50 sec)