2005年6月9日木曜日

サイトのサムネイル画像の自動取得

サイトのサムネイル画像の取得に,pixel-technologyのurl2bmpをvcプログラムから呼び出して使っているのですが、1万サイトを自動で取得すると、JavaScriptエラーのダイアログBOXや、ポップアップウインドウ、プラグインのダウンロード画面などで、デスクトップ画面が埋め尽くされてしまいます。またプログラムから呼び出すと、画像を取得できないことも良く発生する。
他に、Html2bmpを試したのですが、こちらも、url2bmpと同様で、1万サイトの取得には無理があるようです。
有料で、HTML2JPG HTML2JPG, Personal Edition、HTML2JPG, Enterprise Versionがありますが、これも途中でハングアップして今一、使えません。(コマンドラインから使えません。)
何か、いいのはないでしょうか?あればそれを使うのですが。
今のところ見つからないので、作ることにしました。(作成途中です。)
仮称:キャプチャーブラウザー CrenaScape 0.01
crenascape.jpg


--メモ--
1) ポップアップをブロック
void CCrenascapeView::OnNewWindow2(LPDISPATCH* ppDisp, BOOL* Cancel)
{
CHtmlView::OnNewWindow2(ppDisp, Cancel);
*Cancel = VARIANT_TRUE ;
return ;
}
2) JavaScriptエラー時にダイアログBOXを表示しない。
3) プラグインのダウンロードしない。
BOOL CCrenascapeView::OnAmbientProperty(COleControlSite *pSite, DISPID dispid, VARIANT *pvar)
{
USES_CONVERSION;
if (dispid == DISPID_AMBIENT_DLCONTROL)
{
pvar->vt = VT_I4;
pvar->lVal = DLCTL_PRAGMA_NO_CACHE | DLCTL_SILENT | DLCTL_DLIMAGES | DLCTL_NO_DLACTIVEXCTLS;
return TRUE;
}
return CView::OnAmbientProperty(pSite, dispid, pvar);
}
4) スクロールバーを表示しない。
HRESULT CDocHostHtmlView::OnGetHostInfo(DOCHOSTUIINFO * pInfo)
{
pInfo->dwFlags = DOCHOSTUIFLAG_NO3DBORDER | DOCHOSTUIFLAG_SCROLL_NO;
pInfo->dwDoubleClick = DOCHOSTUIDBLCLK_DEFAULT;
return S_OK;
}
まで作成できました。後は、キャプチャー機能を入れて、コマンド
ラインからも実行できれば完成です。(完成は、いつになるか未定)

0 件のコメント:

コメントを投稿