小弟最近在做毕业设计,获取网页代码的部分已经做好,但是要如何把所有的连接都保存下来,包括图片(因为图片地址有些不是绝对地址,我想把这些也获取),请问有没有人知道该怎么做啊? 正则表达式我使用过BOOST但是试过很多正则表达式都解析失败(我的网页代码是保存在CString上的)
代码如下:
CString tmp;
tmp=getURLContext("http://news.sina.com.cn");
//tmp="select name from table";
//char *buf;
//buf="select name from table";
    cmatch what;
regex expression("http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?");
    if(regex_match(tmp,what,expression))
{
   int sun=what.size();
   CString num;
   num.Format("总共有%d个结果",sun);
   AfxMessageBox(num);
       //for(int i=0;i<what.size();i++);
  // AfxMessageBox(what.str());
  // cout<<"str:"<<what.str()<<endl;
}
else
{
AfxMessageBox("error");
//cout<<"Error";
}
有没有高手可以帮下忙啊

解决方案 »

  1.   

    特别是提取地址时
    a href='/zh_cn/top01/11053249/20070315/13990839.html'
     SRC='/zh_cn/top01/11053249/20070315/images/13990839_361635.jpg'这种相对地址该如何处理的?  谢谢
      

  2.   

    InternetCombineUrl这个函数应该有用
      

  3.   

    图片元素找<img>这个tag就可以了
      

  4.   

    你好,谢谢你的回答,我就是用InternetCombineUrl解决相对地址的问题的,现在还有那个问题啊,就是如何在网页上获取连接的问题?我第一个帖子上用正则表达式,但是解析不出来啊,我是用BOOST的库的,有没有更好的办法?谢谢了
      

  5.   

    msdn.microsoft.com/workshop/browser/mshtml/reference/ifaces/document2/get_links.asp
    www.microsoft.com/mind/0298/cutting0298.asp