procedure TForm1.Button2Click(Sender: TObject);
VAR
theurl, htmldoc: String;
begin
theurl := 'http://www.g2b.go.kr'; // 'http://www.delmadang.com'; //
HTMLDoc := IdHTTP1.Get(TheURL);
memo1.Lines.Add(HTMLDoc);
end;
이런식으로 불러오면
전체화면이 아닌 하나의 프레임만 불러오는것 같습니다.
결과:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html401/frameset.dtd"><HTML lang="ko">
<HEAD>
<HEAD>
<TITLE>국가종합전자조달</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr"></HEAD>
<FRAMESET cols="100%" rows="150,*,0" border="0">
<FRAME src="/main/index_main_top.html" name="tops" frameborder="NO" noresize scrolling="NO" marginwidth=0 marginheight=0>
<FRAME src="/main/index_main_body.html" name="sub" frameborder="NO" noresize scrolling="YES" marginwidth=0 marginheight=0>
<FRAME src="/main/index_hidden.html" name="hdn" frameborder="NO" noresize scrolling="NO" marginwidth=0 marginheight=0>
</HTML>
전체 소스를 불러오려면 어느 부분을 수정해야 하나요?
둘재 동일한 것을 WebBrowser 로 불러올때
procedure TForm1.Button1Click(Sender: TObject);
begin
WebBrowser1.Navigate('http://www.g2b.go.kr');
Memo1.Lines.Text := WebBrowser1.OleObject.Document.DocumentElement.OuterHTML;
end;
이렇게 하면 WebBrowser 에서는 나오는데 Memo1 에서 에러가 납니다.
WebBrowser1.OleObject.Document.DocumentElement.OuterHTML;
부분에서 액세스바이오레이션 에러가 나는데 뭐가 잘못되건가요?
www.g2b.go.kr 을 파싱하라는데 이런 건 처음이라서..
전에 한번 하다가 다른 일때문에 중단한 후 다시 하라고 하는데
어디서 부터 해야 하는지...
많은 도움 부탁드립니다.
onnavigatecomplete2 나 OnDocumentComplete 와 같이 loading이 끝난후에 발생하는 이벤트를 리용하세요.
html parser는 여기 자료실에 올라온게 있습니다.