C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[11631] Re:Re:Re:[만해] mstml에 대한 질문요
매댐덜 [] 1270 읽음    2001-10-08 15:59
만해 님이 쓰신 글 :
: 매댐덜 님이 쓰신 글 :
: : 먼저 HTML 클래스가 있는대요...
: :
: : 파서 만들어서 모에 쓰실건지가 궁금하네요...
: :
: : 일단 클래스 안에 보시면 쓰실건 다 있구요...
: :
: : 어떤 내용을 가져 오실건지 아니면 웹 페이지 자체를 파서 하실건지 모르겠네요..
: :
: : 저도 그거 만들어 봤는데 무지 노가다네요...
: :
: : 전 파서 써서 로그인쪽만 가져와서 로그인 시켜주는거 맹글었는뎅....
: :
: : 자세히 써주시면 제가 다시 답변을 드리죠...
: :
: :
: : 강재호 님이 쓰신 글 :
: : : 안녕하세요
: : :
: : : 만해입니다.
: : :
: : : 제가 요즘 웹쪽 프로그래밍을 할려고 해서
: : :
: : : Html 파서를 만들려고 하는데요
: : :
: : : 데브피아를 뒤져 보니깐
: : :
: : : MS에서 기존에 만들어 놓은
: : :
: : : mshtnl이라는 객체를 사용하면 된다는 애기가 있어서요
: : :
: : : mshtml에 대한 자료나 아니면 사이트를 좀 알려 주세요
: : :
: : : 참
: : :
: : : msdn은 다 뒤져 봤는데요
: : :
: : : 영어라서 어려버서 못 찾겠어요~
: : :
: : : 흑~ 영어 공부좀 해야 겠네~
: : :
: : : 그럼 이만~
: : :
: : : 참 그리고 제가 밑에 질문 올린 Richedit에 대한 답변은 없네요
: : :
: : : 어떻게 해결 해야 하는건지 쩝~
: : :
: : : 그럼 이만~
: : :
:
: 안녕하세요 만해 입니다.
:
: 제가 html 파서를 이용해서 사용할쪽은
:
: 어떤 거냐면요
:
: Html 문서를 가져와서
:
: 그걸 통째로 파서를 돌려서
:
: 우선은 기본적으로 Link와 관련된 Tag를 수집하는 거고요
:
: 차후에는 Html 문서에 있는 모든 object(Img,Javascript,VBscript)등을 수집해 와서
:
: 그걸 분석하는 그런 모듈을 개발코자 합니다.
:
: 참 그리고 제가 어제 올린 질문이 있는데 그것에 대한 자료 없으신지요?
:
: 그럼 이만~
:


제가 만들어 논건 드릴순 없구요..지송(^^ 저두 그 회사가 라이센스 걸구 있어서 맘대루 흑흑)

일단 cHTML인가 하는 VC++에선 클래스 사용합니다...

모든 태그들을 다 걸러 낼수 있구요....그 내용또한 걸려 낼수 있습니다..

문제는 HTML 파서가 문제가 아니라 스트링에 대한 파서를 만들어야 합니다.

무슨 말인지는 아실테고..

아마도 제생각엔 스크린 스크랩핑 엔진을 만드시는 것 같은데....

예를 들어 드리겠습니다..지금 가지고 있는 것은 VC++ 소스 밖에 없는데...

CWebBrowser2* pBrowser = (CWebBrowser2*)GetDlgItem( IDC_EXPLORER1 );
   
pDisp = pBrowser->GetDocument();

  if (pDisp != NULL )
  {
    IHTMLDocument2* pHTMLDocument2;
    HRESULT hr;
    hr = pDisp->QueryInterface( IID_IHTMLDocument2, (void**)&pHTMLDocument2 );
    if (hr == S_OK)
    {
    IHTMLElementCollection* pColl;
    hr = pHTMLDocument2->get_all( &pColl );
    if (hr == S_OK)
    {
        LONG celem;
        hr = pColl->get_length( &celem );
        if ( hr == S_OK )
        {
                 for ( int i=0; i< celem; i++ )
            {
            VARIANT varIndex;
            varIndex.vt = VT_UINT;
            varIndex.lVal = i;
            VARIANT var2;
            VariantInit( &var2 );
            IDispatch* pDisp;

            hr = pColl->item( varIndex, var2, &pDisp );

            if ( hr == S_OK )
            {

            IHTMLElement* pElem;

            hr = pDisp->QueryInterface( IID_IHTMLElement, (void **)&pElem );
            if ( hr == S_OK )
            {

                     BSTR bstr;
                hr = pElem->get_tagName(&bstr);
                CString strTag = bstr;

                IHTMLImgElement* pImgElem;
                hr = pDisp->QueryInterface( IID_IHTMLImgElement, (void **)&pImgElem );
                if ( hr == S_OK )
                {
                         pImgElem->get_href(&bstr);
                    strTag += " - ";
                    strTag += bstr;
                    pImgElem->Release();
                }
                else
                {
                    IHTMLAnchorElement* pAnchElem;
                    hr = pDisp->QueryInterface( IID_IHTMLAnchorElement, (void **)&pAnchElem );
                         if ( hr == S_OK )
                    {
                             pAnchElem->get_href(&bstr);
                        strTag += " - ";
                        strTag += bstr;
                        pAnchElem->Release();
                    }
                }

                m_listTags.AddString( strTag );
                   
                pElem->Release();
            }
            pDisp->Release();
        }
    }
}

pColl->Release();
}
pHTMLDocument2->Release();
}
pDisp->Release();
}

이 소스는 제가 테이블의 내용만 가져올려고 만든겁니다...

이걸 응용 하시면 좋은 프로그램을 만드실 수 있을 것 같은데...

도움이 필요하시면 멜로 주시길...

전 지금은 개인용 검색엔진을 개발 중입니다..

거의 막바지에 이르렀지만...흑흑...

그럼 즐프 하시길


+ -

관련 글 리스트
11590 [만해] msHtml에 대한 질문요 강재호 1110 2001/10/07
11619     Re:[만해] mstml에 대한 질문요 매댐덜 917 2001/10/08
11618     Re:[만해] mstml에 대한 질문요 매댐덜 933 2001/10/08
11617     Re:[만해] mstml에 대한 질문요 매댐덜 805 2001/10/08
11628         Re:Re:[만해] mstml에 대한 질문요 만해 906 2001/10/08
11631             Re:Re:Re:[만해] mstml에 대한 질문요 매댐덜 1270 2001/10/08
11634                 Re:Re:Re:Re:[만해] mstml에 대한 질문요 만해 1441 2001/10/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.