如何从TWebBrowser显示的网页中提取文本?
- 内容介绍
- 相关推荐
本文共计303个文字,预计阅读时间需要2分钟。
使用Delphi,可以直接从TWebBrowser组件中提取显示的网页文本内容。以下是一个简化的步骤,说明如何实现:
1. 设置WebBrowser组件的DocumentComplete事件:当网页加载完成后,该事件会被触发。
2.在事件处理函数中,提取文本内容:使用TWebBrowser组件的Document属性访问网页的DOM,然后从中提取文本。
以下是简化的代码示例:
delphi
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch);var Document: IHTMLDocument2; Body: IHTMLBodyElement; TextContent: String;begin // 获取IHTMLDocument2接口 Document :=TWebBrowser(Sender).Document as IHTMLDocument2;// 获取body元素 Body :=Document.body as IHTMLBodyElement;
// 提取文本内容 TextContent :=Body.innerHTML;
// 在这里处理提取到的文本内容,例如显示在某个编辑框中 Memo1.Text :=TextContent;end;
请确保您的TWebBrowser组件的事件处理程序指向这个过程。这样,当网页加载完成时,它就会调用这个过程,并提取网页的文本内容。
我使用delphi 7,我想直接从TWebBrowser中显示的网页中提取网页中显示的文本(无图像….).可以做到吗?我该怎么做? 我用了以下……procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant); var Document: IHtmlDocument2; begin edit1.text:=url; document := webbrowser1.document as IHtmlDocument2; memo2.lines.add(trim(document.body.innerhtml)); // to get html memo1.lines.add(trim(document.body.innertext)); // to get text end;
本文共计303个文字,预计阅读时间需要2分钟。
使用Delphi,可以直接从TWebBrowser组件中提取显示的网页文本内容。以下是一个简化的步骤,说明如何实现:
1. 设置WebBrowser组件的DocumentComplete事件:当网页加载完成后,该事件会被触发。
2.在事件处理函数中,提取文本内容:使用TWebBrowser组件的Document属性访问网页的DOM,然后从中提取文本。
以下是简化的代码示例:
delphi
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch);var Document: IHTMLDocument2; Body: IHTMLBodyElement; TextContent: String;begin // 获取IHTMLDocument2接口 Document :=TWebBrowser(Sender).Document as IHTMLDocument2;// 获取body元素 Body :=Document.body as IHTMLBodyElement;
// 提取文本内容 TextContent :=Body.innerHTML;
// 在这里处理提取到的文本内容,例如显示在某个编辑框中 Memo1.Text :=TextContent;end;
请确保您的TWebBrowser组件的事件处理程序指向这个过程。这样,当网页加载完成时,它就会调用这个过程,并提取网页的文本内容。
我使用delphi 7,我想直接从TWebBrowser中显示的网页中提取网页中显示的文本(无图像….).可以做到吗?我该怎么做? 我用了以下……procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant); var Document: IHtmlDocument2; begin edit1.text:=url; document := webbrowser1.document as IHtmlDocument2; memo2.lines.add(trim(document.body.innerhtml)); // to get html memo1.lines.add(trim(document.body.innertext)); // to get text end;

