怎样截取网页部分内容?
我现在想获得某个分辨率下网页(100,300),(450,600)和(x2,y2),(x3,y3)两个区域的内容,有什么好点的办法? 问题点数:0、回复次数:11Top
1 楼cbuser(cbuser)回复于 2005-04-08 11:42:42 得分 0
dingTop
2 楼constantine(飘遥的安吉儿)回复于 2005-04-08 11:58:51 得分 0
存为图片??
还是这样文字,网上有把网页存为图片的,你可以去下
文字的不知道Top
3 楼happyct(绿叶对大树的情怀)回复于 2005-04-08 13:07:20 得分 0
bitbltTop
4 楼happyct(绿叶对大树的情怀)回复于 2005-04-08 16:13:17 得分 0
HDC DesktopDC; //桌面的dc
//得到桌面的dc
DesktopDC = GetDC(0);
//将桌面拷到sourceBmp上
BitBlt(sourceBmp->Canvas->Handle, 0, 0, sourceBmp->Width, sourceBmp->Height,
DesktopDC, 0, 0, SRCCOPY);
BitBlt(sourceBmp1->Canvas->Handle, 0, 0, 450-100,600-300,
DesktopDC, 100, 300, SRCCOPY);
BitBlt(sourceBmp2->Canvas->Handle, 0, 0, x3-x2,y3-y2,
DesktopDC, x2, y2, SRCCOPY);
(x2,y2),(x3,y3)这两个点的座标你需要判断一下方位,如果不判断,可以在里面用abs处理Top
5 楼cbuser(cbuser)回复于 2005-04-09 11:24:32 得分 0
不是要取得自己桌面上的,比如我想获得http://news.sina.com.cn(100,300),(450,600)和(x2,y2),(x3,y3)两个区域的内容Top
6 楼constantine(飘遥的安吉儿)回复于 2005-04-09 13:11:55 得分 0
文字,还是图片,晕,问了也不说Top
7 楼ktcserver(飘雪流风)回复于 2005-04-09 15:24:44 得分 0
你先判断是否打开了IE,然后判断是否打开了网页http://news.sina.com.cn
然后截取屏幕坐标(100,300)(450,600)显示的内容保存成为图片就可以啦Top
8 楼xili()回复于 2005-04-10 00:09:36 得分 0
我猜楼主思路错了,不该通过屏幕位置来定位目标信息,而应该从html的关键字来判断
当然,俺或许误会楼主了.Top
9 楼fjye(老姜)回复于 2005-04-10 09:59:38 得分 0
恩,我想截取特定的文字信息还是用特定的html标记比较好一点Top
10 楼zxjrainbow(小笨象)回复于 2005-04-11 00:11:26 得分 0
可以的!
记得给分啊!!!!!
IHTMLDocument2* pDocument ;
IHTMLSelectionObject *SelectObj;
IHTMLTxtRange *TextRang;
IDispatch* pDisp ;
wchar_t *HtmlSrc;
VARIANT vSelColor;
short vGetReturnVal;
AnsiString SelHtmlSrc;
HRESULT hr ;
AnsiString ColorValue;
//取得颜色的RGB值。
ColorValue=AnsiString().sprintf("#%02X%02X%02X",
GetRValue(iColorValue),
GetGValue(iColorValue),
GetBValue(iColorValue));
//得到网页中所选的部分内容。
//获得IHTMLDocument2接口
hr = WebDoc->QueryInterface(IID_IHTMLDocument2,(void**)&pDocument) ;
if(SUCCEEDED(hr) )
{
pDocument->get_selection(&SelectObj);
pDocument->Release() ;
SelectObj->createRange(&pDisp);
//SelectObj还有很多用法。自己看。
SelectObj->Release();
hr= pDisp->QueryInterface(IID_IHTMLTxtRange,(void**)&TextRang) ;
if(SUCCEEDED(hr) )
{
TextRang->get_htmlText(&HtmlSrc);
SelHtmlSrc=AnsiString(HtmlSrc);
//TextRang还有很多用法。
pDisp->Release() ;
}//end of if
}//end of ifTop
11 楼cbuser(cbuser)回复于 2005-04-11 09:41:37 得分 0
文字,就像用idhttp下了,然后分析部分内容,然后用webbrowser显示,但是用户可以调整坐标Top




