如何提取一个网页中的所有连接?(50分)

  • 主题发起人 主题发起人 lanny
  • 开始时间 开始时间
L

lanny

Unregistered / Unconfirmed
GUEST, unregistred user!
如何提取一个网页中的所有连接?
Help
 
找《/a》
其前面的就是连接
 
给我一个例子!
Thank !
 
例子没有,但是可以对所获取的htnl原文件分析,提取有连接的String
 
我可以用时间写一个,我的另一个程序与你的原理是一样的,我的程序的目的是将
超文本文件转化为纯文本文件。与我联系。。
loopy@netease.com
 
Like NetAnts or FlashGet
 
找到《a 再找href=
 
把HTML文件当做文本来操作,查找《a href="和"》之间的东东...就是你想要的超级链接
 
http://
《a href='
《a href="

好象用TwebBrowser可以做这些事
 
如果用WebBrowser的话,IHtmlDocument2.get_anchors
 
nmhttp.Get('目标地址');
Memo.text:=nmhttp.Body; //在Memo中显示 Html 代码
然后在 Memo 中搜索....

 
<font color=red>VB5.0的例子</font>
Private Sub Command1_Click()
Dim allCol
Dim TagName As String
Dim allcount, i
List1.Clear
Set allCol = WebBrowser1.Document.all
allcount = allCol.length
For i = 0 To allcount - 1
TagName = allCol.item(i).TagName
If TagName = "IMG" Or TagName = "A" Then
TagName = TagName & " - " & allCol.item(i).href
List1.AddItem (TagName)
End If
Next

End Sub
 
如果你要,我有分析html语法的东东,写信给我delphisnail@263.net
 
直接分析源文件里的<a>和</a>不是个好办法,其实可以这样:
var
doc:IHTMLDocument2;
all:IHTMLElementCollection;
len,i:integer;
item:OleVariant;
begin
doc:=webbrowser1.Document as IHTMLDocument2;
all:=doc.Get_links;

len:=all.length;
for i:=0 to len-1 do
begin
item:=all.item(i,varempty);
if item.href='特定URL' then
item.click;
end;
end;
 
这是个字符串查询的问题,不该放在这个topic里.
 
其实这是编译原理的问题,你可以参看一下这类书籍
 


  var
   doc:IHTMLDocument2;
   all:IHTMLElementCollection;
   len,i:integer;
   item:OleVariant;
  begin
   doc:=WebBrowser1 .Document as IHTMLDocument2;
   all:=doc.Get_links;             //doc.Links亦可
   len:=all.length;
   for i:=0 to len-1 do begin
    item:=all.item(i,varempty);        //EmpryParam亦可
    memo1.lines.add(item.href);
   end;
  end;

 
Wait,I will post u in a few minite!
 
to lanny:

告诉我你的信箱!我好发给你!
 
后退
顶部