如果你仅仅是想分析网页中元素,建议不要用TWebBrowser,使用TNMHTTP可以很好的达到你的目的:
1,不会显示网页错误
2,不会下载声音、图片、视频等,加快你的速度
3,取得的网页代码和TWebBrowser的源文件代码完全一致
具体使用为
NMHTTP1.Get(URL)
然后在NMHTTP1.OnSuccess里面提取NMHTTP1.Body:string,这就是网页内容
但是缺点是不能使用Shdocvw中提供的一些方法来直接获得链接,必须自己去分析
1,不会显示网页错误
2,不会下载声音、图片、视频等,加快你的速度
3,取得的网页代码和TWebBrowser的源文件代码完全一致
具体使用为
NMHTTP1.Get(URL)
然后在NMHTTP1.OnSuccess里面提取NMHTTP1.Body:string,这就是网页内容
但是缺点是不能使用Shdocvw中提供的一些方法来直接获得链接,必须自己去分析
解决方案 »
- 调用Delphi生成的DLL,退出程序后出现内存不能read!
- 可不可以做到获取网络打印机的打印日志?
- 请问Delphi中如何实现用户自定义的报表?
- 关于笛卡尔积的算法问题,请教!
- 怎么搞能把DPR中说有的FORM的ICON换成我想要的?
- 怎样进行SQLServer2000客户端精简安装!
- 求救!!!在DELPHI6中使用QuickReport的问题(急啊!在线等呀)
- 关于安装程序制作的一个小问题-----立即结帐
- 广告:想知道带边条与固定行数的报表制作方法的网友请关注偶的论坛。
- 关于TCP/IP的数据包捕获
- Sockets编程:如何在对等网中自动获取在线的计算机名列表?
- 如果将SQLSERVER的MDF和LDF文件导入另一个SQLSERVER??
能不能提供点例子?谢谢
// Return a list of links (<a href=""> tags)
Var
Counter: Integer;
Href, Description: String;
Node: TTagNode;
Links: TTagNodeList;
Begin
If TreeView1.Selected <> Nil Then
Begin
Links := TTagNodeList.Create;
TTagNode(TreeView1.Selected.Data).GetTags('a', Links);
Memo1.Clear;
For Counter := 0 To Links.Count - 1 Do
Begin
Node := Links[Counter];
If Assigned(Node) Then
Begin
Href := Node.Params.Values['href'];
If Href <> '' Then
Begin
Description := Trim(HTMLDecode(RemoveCRLFs(Node.GetPCData)));
If Description <> '' Then
Memo1.Lines.Add(Description + ' => ' + Href);
End;
End;
End;
Links.Free;
End
Else
Begin
MessageBeep(mb_IconAsterisk);
ShowMessage('No tag selected');
End;
End;你去下个HTMLParser就很简单了
HTMLParser空件我有了,但是没用过。我看了一下他的用法,
好象没有这样的用法吧?(也许我太菜了)