サーバダウンしました。

本サーバ(FedoraCore3)が、午前中ダウンしていました。原因は不明。
telnet × 、ftp ×、postgres ×、httpd ○
なぜか、httpdだけは生きているようで、ホームページはアクセスできた。ただしDBと連携しているページはアウト。遠隔telnetログインもできないので、サポートに連絡してリブートしてもらった。
ログとか見ましたが、原因不明です。。(過去にも1回同様の症状があった。)
telnetすると、いきなりconnectionが切断されます。FTPも同様、xinetd系は全滅、何かの要因で
プロセス数が多くなりすぎて、これ以上新たなプロセスを生成できなくて、つながらないのかと思っています。
=>プロセス数監視することにしました。5分インターバルで、/procディレクトリーをファイルに吐くperl
プログラムをしかけた。

MovableType 「CustomFields」入力項目の拡張

MovableType 3.2 で、エントリー等に項目を独自に追加するのに何かプラグインはないか探したところ、Googleで「Movable 拡張 項目」で検索して、「CustomFields」を見つけました。
これを導入すると、エントリーやカテゴリーに好きな項目を新たに追加できます。
企業検索ComSearchプレスリリースのシステムにMovableTypeを使って、エントリーの追加項目に「CustomFields」にIDとか企業名、URL等に使用しています。
http://www.movalog.com/plugins/wiki/CustomFields
の「Installation Instructions」のリンクをたどるとダウンロードできます。
導入方法、追加方法はCustomFieldsで検索すれば出てきますので、ここでは、追加された項目&データはデータベースのどこに拡張されるか、及び別システムのプログラムからこの追加項目をどう参照するか記載しておきます。
(MEMO)
例)エントリーに、comid,comurl,comnameを拡張した場合。(DBはmysql)
———————–
格納DB表:mt_plugindata
———————–
項目名      :内容
———————–
plugindata_id  :id番号
plugindata_data :[BLOB] MTでシリアル化されたデータが入る。
plugindata_key  :entry_xx (xxは、mt_entryのentry_id番号)
plugindata_plugin:entries
———————–
で、phpからエントリーID 4の拡張データを取得したい場合は、
MTのMTSerialize.phpをincludeして、mt_plugindataからplugindata_data
を取得して、unserialize()するとデータを取ることができます。
—————————-
<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=EUC-JP”>
</head>
<body>
<?php
include(‘xxx/xxx/mt/php/lib/MTSerialize.php’);
$mt = new MTSerialize;
$con = mysql_connect(“localhost”, “xxxx”, “xxxx”);
mysql_select_db(“zzzzz”);
$sql = “select plugindata_data from mt_plugindata
where plugindata_plugin = ‘entries’
and plugindata_key = ‘entry_4′”;
$result = mysql_query($sql);
$rec = mysql_fetch_row($result);
$value = $mt->unserialize($rec[0]);
//——————–
print var_dump($value);
//——————–
print “<br>”;
print $value[‘comid’];
?>
</body>
</html>

Yahoo!カテゴリWebサービスとカテゴリID(2)

前回のAPIを利用して、Yahoo ! Japan の「ビジネスと経済」配下のカテゴリID、カテゴリ名を取得しました。全部で9、057カテゴリとなりました。(あってるかな?)約1時間かかりました。
プログラムは、PHPで、関数を再帰呼び出しにして、GETしたのですが、カテゴリLINKを参照した時、再度、同じカテゴリLINKが存在することがあり、結局無限LOOPでおバカなことをやってしまった。。
カテゴリLINK配下は探索しないようにしてOKとなった。現在生データのままで、カテゴリID階層とカテゴリ名の紐付けを作成中。
その後、ODPのビジネスディレクトリとのカテゴリ自動リンクを作成するかもしれない。(未定)


さて、昨日も、http://stest01.dev.yahoo.co.jp:10080/cmtool/workingtable.
php?command=Update&page=4&status=109&code_xxxxxxxx=100&…以下IDが20個ほど続くリファラーが残っていた。
xxxxxxxxは、カテゴリIDだと思われるのですが、これをカテゴリ名にAPIで変換してみて調べてみても、www.picolix.jpとは何の接点もございません。Yahooさん、なんなのでしょうか?

Yahoo!カテゴリWebサービスとカテゴリID

Yahoo! Japanから「Yahoo!カテゴリWebサービス」なのが2/28にリリースされていたのですね、知らなかった。
yahooからいろんなAPIが出ていますが、過去、特に使って見たいとは思わなかったのですが、「このYahoo!カテゴリWebサービス」はComSearch企業検索で利用価値がありそうかも。
現在、ComSearch企業検索は、Google map APIを使って、上場企業住所からMAPを生成しています。
例)
ヤフーのGoogle MAP
で、この「Yahoo!カテゴリWebサービス」に気づいたのは、http://stest01.dev.yahoo.co.jp:
10080/cmtool/workingtable.php?command=Update&page=4&status=109&code_2078361141=
100&code_2078308363=101&code_2075127796=100&……
というような、アクセスログが残っており、何かなと思って調べ回っていたのですが、(結局不明)
http://developer.yahoo.co.jp/category/browse/V1/browse.htmlを見ると、
code_以下の数字は、YahooのカテゴリIDだということがわかりました。
このIDから実際のYahooディレクトリを導くには、
http://api.dir.yahoo.co.jp/Category/V1/Category?appid=100010001&id=2077241654
というようにします。
(appid=100010001は、自分の登録IDです。)
そこで、自分のwww.picolix.jpは、いつYahoo! Japanのカテゴリに登録されたかを調べてみると、
http://api.dir.yahoo.co.jp/Category/V1/Category?appid=100010001&path=/Computers_and_Internet
/Software/Internet_and_Networking/Internet/Picolix/
↑のレスポンスは、
<Item>
<Type>site</Type>
<Title>PicoLixホームページ</Title>
<JTitle>PicoLixほーむぺーじ</JTitle>
<Url>https://www.picolix.jp/</Url>
<ClickUrl>http://srd.yahoo.co.jp/API/appid=100010001
/SS=2078426751/SIG=10rtde58h/*-http%3A//www.picolix.jp/</ClickUrl>
<Summary>Webページの画像キャプチャー、送信専用メーラー、Pingユーティリティ等の配布。</Summary>
<Created>19980210</Created>
<New>0</New>
<Cool>0</Cool>
</Item>
で、1998年2月10です。(当時は、プロバイダーのURLで、後でwww.picolix.jpに移転しました。)
1998年ってもう6年も前ですね。

「SimpleAPI その1.ウェブサイトサムネイル作成API β版

http://img.simpleapi.net/
よくできています。
フラッシュとかも取れますし、フレームも大丈夫なようです。別枠で、ポップアップ、ダイアログBOXが表示されるであろうサイトもちゃんととれています。(サーバ側はどうなっているのか興味があるところですが。。)サーバはLinux系で、Geckoエンジンでしょうか?
当方は、Windowsでコマンドラインで、Crenahtml2jpgを作成してこれを、perlスクリプトで動かして、スケジュールに組み込んで、月1回、3万サイトのサムネイルを自動取得しているのですが、負荷と時間がかかりますので、同時複数処理しています。
Linux系での作成も考えたのですが、X関連が必要で、また正しく全てのサイトが取れるか自信がなかったので、Windows系&コマンドライン対応で作成しています。
このようなサーバAPIはだれしも検討したことがあると思うのですが、人気サイトになるととてつもない負荷がかかり、私個人のレベルでは、到底対応できなのであきらめていたのですが。。
がんばっていただきたいところです。


プログラマーな人なら、このAPIを利用して一気に数万サイトのサムネイル取得したいと思う筈ですし。(現に許されるのなら、スクリプトを組んで取得してみたいです。)

コンテンツマッチ広告のブレイナー

コンテンツマッチ広告のブレイナーを利用してみました。
登録申請して、30分ぐらいで許可メールがきました。(早いです!)
早速ComSearchトップに貼って見たのですが、ビジネス系ではマッチした広告は出ません。情報商材関連ばかりの広告で、過激なタイトルの広告もあります。
やめようかなと思いましたが、コンテンツマッチ広告をXMLで取得できるAPIが公開されており、これを利用すると必要とするキーワードで、XMLで広告データを取得できます。
早速、キーワードツールを自作し、どんなデータがあるか探し、広告を表示させるようにしました。
レイアウト自由で結構いいです。
難点は、私が欲しいと思うキーワード(ビジネス関連)でヒットする広告主が少ないということです。
この点、広告主が増えて、キーワードも増えれば、十分使えそうなので、期待したいです。
広告単価は、Google adsenseには及びませんが、まずまずです。

リファラースパム-検索エンジン経由?

googleの検索結果を記載した方法のリファラースパムがやたらにくるようになった。
リファラーが、http://www.google……&q=xxxxxでxxxxxに該当の商品(アダルト)が記載されているもので、これを検索して、そのTOP1がアダルトサイトというわけです。アクセスログに残るだけなら放置するのですが、当方、検索キーワードをログから毎日収集し、その結果を配信しているので非常に困りものです。
http://search.picolix.jp/index.rdfで、アダルトキーワードを弾いても、またあらたな商品(ビデオのタイトル?)
が発表され新たなキーワードが発生し、いたちごっこになり、しょうがないので、その検索パターン全部を弾くようにしました。今のところ有効。

GoogleからAdsense「プログラム ポリシー違反」メール [完]

「コンテンツの量が少ないページに Google 広告が掲載されている」の修正対応結果の返信メールが、本日14:04に来ていました。
「Google のポリシーに従って、お客様のアカウントに必要な変更を加えていただきありがとうございました。」
とのことで、修正は受け入れられたようです。やれやれ、修正方針は合っていたようでほっとしました。
プログラムで、基準に達しなかったページはAdsenseを貼らないようにしたのですが、どれだけのページで剥がれたのか当人も不明です。。
剥がす前と後でクリック率や収益の差はそれほどないようなので、無駄に貼っていたということですね。
前回の修正以外に、ついでにwww.picolix.jpのBBSとか、本ブログでは収益がほとんどないのでAdsenseは外しました。
当方のように自動生成すると、コンテンツ量不足のところにAdsenseを貼ってしまうということは多々あります。(Adsenseのプレミアムでない有名なサイトでも同様なことが発生しています。)
またブログでも、1行のリンク紹介だけに終わっているところにAdsenseを自動挿入すると、
その個別のエントリーでは、コンテンツがないところにAdsenseを貼ってしまうということになってしまい
注意が必要です。


以下、コンテンツ量の不足していると思われるページとOKなページの一例です。
コンテンツ量不足ページ

=>Adsneseは貼らない
コンテンツ量OK
=>Adsenseは貼る

GoogleからAdsense「プログラム ポリシー違反」メールきました。

Googleさんから本日18:50、Adsenseの規約違反
「お客様のアカウントを確認しましたところ、Google 広告の掲載方法が、次のプ
ログラム ポリシーに違反していることが確認されました。」とメールが着ました。(;_;)
まじですか???
違反内容は、
「コンテンツの量が少ないページに Google 広告が掲載されていること」 とのこと。
ん~、どの管理サイトのどのページなのか。すぐに思いあたったのは、ComSearchのhttp://search.picolix.jp/dmoz/に貼っているページですが、この配下のカテゴリーは1000ページ以上あり、コンテンツが乏しくリンク形式だけになっているところが少々あり、それらをすべて探しだし、手動で外すとなると大変なことになります。。。
幸い、このページは、内部的にはPHPで動作させているので、各ページで、サイトデータがない場合=コンテンツが少ないと判断して、Adsenseを表示しないようにプログラムを修正し、修正完了メールをGoogleに出しました。(結果待ちです。)
これでもだめなときは、サイトデータが2つ以下の場合も表示しないように修正するつもりです。


2年とちょっとAdsenseをやってきたのですが、GoogleからAdsense「プログラム ポリシー違反」が着たのは初めてです。メールには、定期的に審査していると記載されていました。
たぶんコンテンツ量は、プログラムで自動判断しているのでしょう。メールが着たらまた報告します。
アカウント停止だけは避けたいです。