分又不能换钱,判断"href=",取后面的连接地址,你不会写递归?不过,我想这连接是无止尽的,最好设定层数并判断这个地址是否已经下载。

解决方案 »

  1.   

    to atongm: 
       能不能讲详细一点呢? 谢谢!
      

  2.   

    如果你不规定联接层次的话,整个internet都会被你拉下来的,你的硬盘大吗??????
      

  3.   

    要得到整个网站的超级联接,得到联接的地址后,还要分析这地址的构成,如csdn网站最前面的字符串为www.csdn.net/....等。
      

  4.   

    A链B,
    B又链A,
    你下载A->B->A->B....
    你头白了,
    程序告诉你,
    不要急,就快完了,还剩下一个。
      

  5.   

    to atongm:
       将你的哪个控件EMAIL给我吧: [email protected] 如果你有VCL的又有源码的最好。
      

  6.   

    原代码是vc的,它还需要数据库支持。不过有delphi应用的事例程序!我发给你吧
      

  7.   

    to atongm:   我要DELPHI的,怎么还没有收到你发过来的email啊? [email protected]
      

  8.   

    对付纯html的还行
    但是碰到asp,cgi的你怎么分析呀?
    其实webzip就有这个功能了
      

  9.   

    to qiandeng(千灯) :
    不管是什么程序编的,用idhttp或nmhttp读出来的都是html。
    lbsoft(lbsoft):
    没收到?那我再发一次
      

  10.   

    atongm(atongm):
       email收到了,但你的列子太简单了,有些参数都不知道是什么意思?不过还是谢谢你。
      

  11.   

    这个示例将列出
    CppWebBrowser当前文件中所有的链接信息.标识为:<a href>...</a>
    TCppWebBrowser类的Document属性是个IDispatch接口,利用该接口通过QueryInt
    erface方法可以得到其他接口,如常用的IHTMLDocument2接口,然后通过各种接口
    的方法可以达到对HTML文件的操作。
    核心代码如下:
        //首先判断控件是否已经下载HTML完毕
        if( CppWebBrowser1->ReadyState!=4)
        {
            ShowMessage("not Completed");
            return ;
        }
        IHTMLDocument2* pDocument ;
        IHTMLElementCollection* p ;
        IHTMLElement* link ;
        long len ;
        HRESULT hr ;
        //获得IHTMLDocument2接口
        hr = CppWebBrowser1->Document->QueryInterface(IID_IHTMLDocument2,(v
    oid**)&pDocument) ;
        if( !SUCCEEDED(hr) )
        {
            ShowMessage("hehe") ;
    return ;
        }
        //得到Document中所有的Element
        pDocument->get_all(&p) ;
        pDocument->Release() ;
        p->get_length(&len) ;
        for(int i=0;i<len;i++)
        {
            IDispatch* pDisp ;
            Variant j ;
    //得到Collection中的第i个Element
            p->item((Variant)i,j,&pDisp) ;
            hr= pDisp->QueryInterface(IID_IHTMLElement,(void**)&link) ;
    if( !SUCCEEDED(hr) )
      return ;
            pDisp->Release() ;
            wchar_t* name ;
    //提取tag属性
            link->get_tagName(&name) ;
            if( wcscmp(name,L"A")==0 )
            {
                VARIANT v ;
        //提取href属性
                link->getAttribute(L"HREF",0,&v) ;
                wchar_t* va = v.bstrVal ;
                AnsiString str = (AnsiString)va ;
                ShowMessage(str) ;
            }
            link->Release() ;
        }取出网页内容