网页中有很多文本。我要得到这些文本来比较,请问怎么得到??
    UP者有分!!

解决方案 »

  1.   

    如果只提取超文本中的text的话,可以用IHtmlDocument2得到body, 再用body的get_innerText就行了IHTMLElement* pBody;
    hr = pMSHTML->get_body(&pBody);  // pMSHTML是IHtmlDocument2接口指针,例如从CHtmlView中得到的
    if (SUCCEEDED(hr))
    {
    BSTR bstrText;
    hr = pBody->get_innerText(&bstrText); 
    if (SUCCEEDED(hr))
    {
      SysFreeString(bstrText);
    }
    pBody->Release();
      

  2.   

    nineclock(本人成分:59%的帅,40%的酷,1%的微量羞涩(-'_'-)) 
        我很急,帮帮我啊
      

  3.   


    我这里的文本指的是网页上除图片外的所有文字。能不能得到特定的文字??我现在想的是得到网页所有的文字,再在这些文字里面得到我感兴趣的东西!
    ==========================================
    BOOL GetSourceHtml(CString theUrl,CString Filename) 
    {
     CInternetSession session;
     CInternetFile* file = NULL;
     try
     {
        // 试着连接到指定URL
        file = (CInternetFile*) session.OpenURL(theUrl); 
     }
     catch (CInternetException* m_pException)
     {
        // 如果有错误的话,置文件为空
        file = NULL; 
        m_pException->Delete();
        return FALSE;
     } // 用dataStore来保存读取的网页文件
     CStdioFile dataStore;
     if (file)
     {
        CString  somecode; //也可采用LPTSTR类型,将不会删除文本中的\n回车符
        BOOL bIsOk = dataStore.Open(strPath+"\\"+Filename,
    CFile::modeCreate 
    | CFile::modeWrite 
    | CFile::shareDenyWrite 
    | CFile::typeText);

        if (!bIsOk)
    return FALSE;

        // 读写网页文件,直到为空
        while (file->ReadString(somecode) != NULL) //如果采用LPTSTR类型,读取最大个数nMax置0,使它遇空字符时结束
        {
    dataStore.WriteString(somecode);
    dataStore.WriteString("\n");    //如果somecode采用LPTSTR类型,可不用此句
        }

    file->Close();
    delete file;
     }
     else
     {
        dataStore.WriteString(_T("到指定服务器的连接建立失败..."));
        return FALSE;
     }
     return TRUE;
    }
    你试试行不行~
      

  4.   

    试试 利用 TextRange() 来完成,应该是可以的
      

  5.   

    微软给的例子:How To Programmatically Save an HTML Page to Disk
        HRESULT          hr    = E_FAIL;
        IDispatch*       pDisp = NULL;
        IHTMLDocument2*  pDoc  = NULL;    pDisp                  = m_webOC.GetDocument();   if(SUCCEEDED(hr = pDisp->QueryInterface(IID_IHTMLDocument2,(void**)&pDoc)))
       {
           IPersistFile* pFile = NULL;
           if(SUCCEEDED(pDoc->QueryInterface(IID_IPersistFile,(void**)&pFile)))
           {
    LPCOLESTR file = L"c:\\test1.htm";
    pFile->Save(file,TRUE);
           }
       }
      

  6.   

    http://blog.csdn.net/jiangsheng/archive/2003/11/09/3795.aspx
    里面演示了如何分析HTML网页……
      

  7.   

    微软给的例子:How To Programmatically Save an HTML Page to Disk
        HRESULT          hr    = E_FAIL;
        IDispatch*       pDisp = NULL;
        IHTMLDocument2*  pDoc  = NULL;    pDisp                  = m_webOC.GetDocument();   if(SUCCEEDED(hr = pDisp->QueryInterface(IID_IHTMLDocument2,(void**)&pDoc)))
       {
           IPersistFile* pFile = NULL;
           if(SUCCEEDED(pDoc->QueryInterface(IID_IPersistFile,(void**)&pFile)))
           {
    LPCOLESTR file = L"c:\\test1.htm";
    pFile->Save(file,TRUE);
           }
       }!!!!!!!要得是得到网页的文本内容呀!