提取网页中的所有联结的问题
用程序得到一个页面的内容,然后提取所有的连接,不是从打开的IE窗口中得到。下面是我作试验的代码
CString urlstr;
m_input.GetWindowText(urlstr);
unsigned char myData[10000];
CInternetSession mySession(NULL,0);
CHttpFile* myHttpFile=NULL;
myHttpFile=(CHttpFile*)mySession.OpenURL(urlstr,1,INTERNET_FLAG_TRANSFER_BINARY);
CFile f;
CFileException e;
char* pFileName = "test.jpg";
if( !f.Open( pFileName, CFile::modeCreate | CFile::modeWrite, &e ) )
{
return ;
}
UINT nReturnCount;
while(nReturnCount=myHttpFile->Read(myData,10000))
{
f.Write(myData,nReturnCount);
}
myHttpFile->Close ;
mySession.Close ;
f.Close ;
用上面的代码可以返回网页的内容,但是要想提取所有的连接确实不可能,因为很多联结是用SCRIPT解释出来的。我参考了一下别人的一个得到网页中的所有联结的代码,他是利用IE的COM接口得到当前IE打开的网页的连接,总不能在程序中再自己开个IE然后再得到URL,这样是不是太麻烦
问题点数:50、回复次数:3Top
1 楼Onega(www.fruitfruit.com)回复于 2004-05-02 19:47:41 得分 45
你研究一下http://msdn.microsoft.com/downloads/samples/internet/default.asp?url=/downloads/samples/internet/browser/walkall/default.asp
就知道怎么做了Top
2 楼sohou(2007的春天)回复于 2004-05-05 16:39:51 得分 0
Onega(www.fruitfruit.com)
===========
谢谢你,这50分全给你啦,看来我要多看看MSDN啦!Top
3 楼myb123(myb123)回复于 2004-05-06 12:31:52 得分 5
gzTop




