Простой парсер, не могу получить href из html (dom)

08.08.2015
1
0
#1
Всем привет. Помогите написать простенький парсер, не могу получить href в финале.
Выдергивает все что Li, потом внутри в h3, а потом в A.
Код:
vTags := WebBrowser1.OleObject.Document.getElementsByTagName('Li');
n1:=vTags.Length;
if n1>0 then
begin
for i1:=0 to n1-1 do
begin
vTags1 := vTags.item(i1).getElementsByTagName('H3');
n2:=vTags1.Length;
if n2>0 then
begin
for i2:=0 to n2-1 do
begin
sMemo2.Lines.Add(vTags1.item(i2).InnerHTML);
end;
end;
end;
end;
В sMemo2 получается:
Код:
<A href="http://www.google.ru/url?url=http://www.elle.ru/tests/&amp;rct=j&amp;frm=1&amp;q=&amp;esrc=s&amp;sa=U&amp;ved=0CBMQFjAAahUKEwj4n4380ZnHAhWI2SwKHdhEB2A&amp;usg=AFQjCNFKGc7G2o3Ta0OKGyFYhC8EjSKUHg" target=_blank><B>?????</B> ??????: ?????? ??????????????? <B>?????</B> ?????????, ??? <B>...</B></A>
Как получить href? Чето не пойму. Спасибо.
 

sinkopa

Well-Known Member
17.06.2009
344
9
#2
Всем привет. Помогите написать простенький парсер, не могу получить href в финале.
Выдергивает все что Li, потом внутри в h3, а потом в A.
Код:
vTags := WebBrowser1.OleObject.Document.getElementsByTagName('Li');
n1:=vTags.Length;
if n1>0 then
begin
for i1:=0 to n1-1 do
begin
vTags1 := vTags.item(i1).getElementsByTagName('H3');
n2:=vTags1.Length;
if n2>0 then
begin
for i2:=0 to n2-1 do
begin
sMemo2.Lines.Add(vTags1.item(i2).InnerHTML);
end;
end;
end;
end;
В sMemo2 получается:
Код:
<A href="http://www.google.ru/url?url=http://www.elle.ru/tests/&amp;rct=j&amp;frm=1&amp;q=&amp;esrc=s&amp;sa=U&amp;ved=0CBMQFjAAahUKEwj4n4380ZnHAhWI2SwKHdhEB2A&amp;usg=AFQjCNFKGc7G2o3Ta0OKGyFYhC8EjSKUHg" target=_blank><B>?????</B> ??????: ?????? ??????????????? <B>?????</B> ?????????, ??? <B>...</B></A>
Как получить href? Чето не пойму. Спасибо.
А вот так если? :)
Код:
sMemo2.Lines.Add(vTags1.item(i2).getElementsByTagName('A').item(0).getAttribute('href'));
 
Последнее редактирование модератором: