User-Agentを任意の文字列、或いは、携帯電話(機種不問)に偽装できる機能を持ったHTMLソース保存プログラムを御存知でしたらお教えいただきたく存じます。定期的なアクセス・保存、HTMLソースの解析部分については何とか自作and/or他のフリーウェアで何とかします。
何卒宜しくお願い申し上げます。
[参考] Vectorライブラリ「Webパトロール 監視&メール通知」
http://www.vector.co.jp/soft/winnt/net/se348133.html
プログラムで自作出来るのでしたら、取得するプログラムも一緒に書いてみてはいかがでしょうか?
また、自作であればプログラム言語によって色々違いますが、通常UAは書き換えできますので何でも良いと思います。
個人的には、テキスト解析はperlの領分と思っていますので一応例を書いておきます。
.
例えば、perl(Windows 環境であればActivePerlなど)であればこのような感じになります。
取得した物をそのままテキスト解析ですね。
#----test.pl----
use LWP;
my $ua = LWP::UserAgent->new;
my $res = $ua->get(
"http://q.hatena.ne.jp/1283652996",
"User-Agent" => "DoCoMo/2.0 SH901iC(c100;TB;W24H12)",
);
open(FH,">save.html");
print FH $res->content;
close(FH);
#------------
.
ところで、少し疑問なのですが、なぜ、この質問を?と思っています。自作できるならUA付けてアクセスすれば良いだけでは?と思っています。
もし、プログラム入門者でとりあえず、プログラムは少し読めるが、ホームページの取得まではよく分からん。
という感じでしたら、手っ取り早くやりたいソフトを作るにはプログラムサンプルがたくさん載っている逆引き大全シリーズの分厚い本をお薦めしておきます。索引をざっと見て、全く知らない言語でも、必要な所を、コピペするだけで動いてくれますので、真面目にプログラムを勉強する方にはお勧めしませんが、個人でとりあえず動く物が作りたいという時にはめちゃくちゃ役に立ちました。
.
他、外部ソフトを使う物では、SYSYAはいかがでしょうか?
コマンドラインで使えますのえ自作プログラムとの組み合わせでも一番使いやすいと思います。
また、レジュームやリダイレクト、UA偽装、ページサイズやエラーコードの取得などブラウザできそうな事は大抵できるようです。
: ----test.bat----
SYSYA /J /T+5 /HU"DoCoMo/2.0 SH901iC(c100;TB;W24H12)" /GQ:\ http://q.hatena.ne.jp/1283652996"
pause
: ------------
.
なお、最近、個人製作のクローラーで逮捕者(岡崎市立中央図書館事件)が出ていますので注意して下さい。
早速SYSYAで試してみましたが、私が今一番DB化したいページについてはダメでした…(涙)。
自分の携帯がソフトバンクモバイル(SBM)のものなので
試しにSBMのウェブコンテンツ開発者向け資料を探して読んでみると、
必須リクエストヘッダがUser-Agent以外にも数多くあり
SYSYAのコマンドラインオプションでは対応できないものも含まれておりました。
こうなるとPerlを使う以外に無さそうですね(汗笑)。頑張ってみます。
本当に有難うございました!
携帯サイトは私の思っている以上にややこしいのかもしれません。
IPレベルではなく、単純にリクエストヘッダだけで良ければ、perlであれば行けると思います。
ただ、ここまで細かい設定を要求されることはほとんど無かったので自信なしですが・・・。
ちなみに、先の逆引き書籍についてですが、ほとんどプログラムやったこと無い人がパズル感覚でプログラムを簡単に作るにはベストだと思いますが、リクエストヘッダを細かく指定してなど細かい事までは載っていませんので、使うモジュールやそれに関連したHPを探すしか無いかもしれませんね。
ちなみに、hatenaはリダイレクトまでSYSYAと先のperlで上手くいってくれたのですけどね。
IPレベルの話だと、私の能力では「死んだ亀」状態(手も足も出ない)ですね(苦笑)。
SBMの技術資料には、IP云々の記載は無かった様に思いますので
必須リクエストヘッダの問題さえ解決できれば多分大丈夫ではないかと思います。
一応プログラム経験は多少なりともありますので、
リクエストヘッダの細かい指定等については何とかできると思います…恐らく(笑)。
PCでのブラウザUAの偽装などで本当に接続可能か調べてからの方が良いかもしれません。
他、http://www.nttdocomo.co.jp/service/imode/make/content/download/
など携帯キャリアなどが出してるエミュレータ経由でパソコンから接続できるか調べてから、プログラム作成に取りかかっても良いかもしれません。
perlを覚えるよりは気軽に検証できそうです。
ブラウザUAの偽装だけでは無理そうです…。
エミュレータは思い付きませんでした!早速試してみたいと思います。