首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

啊 如何取网页中指定标签中的,每个标签的内容。

2012-05-01 
十万火急啊 怎么取网页中指定标签中的,每个标签的内容。。。是这样的,现在有个网站要提取消息,每条,里面的不

十万火急啊 怎么取网页中指定标签中的,每个标签的内容。。。
是这样的,现在有个网站要提取消息,每条,里面的不同的内容要提出来相对的地方
<tr style="color:#333333;background-color:#F7F6F3;">
<td>2012-4-21 16:03:30</td><td>adminjm</td><td>Ready</td><td>0</td><td>59.58.237.9</td><td><a href="http://www.ip138.com/ips.asp?action=2&amp;ip=59.58.237.9" target="_blank">查询</a></td>
</tr>
TR这个标签中包含的TD全部分开获取出来,实在想不到办法了
TR这个标签算是一条。
谢谢啊。

[解决办法]
用这个来定位,<tr style="color:#333333;background-color:#F7F6F3;">
删掉头一个<td>
StringList.commatext := StringReplace(Html, '</td><td>', ',', [rfReplaceAll]);
可能还会有点垃圾字符,再替换一两次即可

[解决办法]
procedure TForm1.Button1Click(Sender: TObject);
var
SourceStr :string;
Str :string;
i :integer;
begin
SourceStr :='<tr style="color:#333333;background-color:#F7F6F3;"><td>2012-4-21 16:03:30</td><td>adminjm</td><td>Ready</td><td>0</td><td>59.58.237.9</td><td><a href="http://www.ip138.com/ips.asp?action=2&amp;ip=59.58.237.9" target="_blank">查询</a></td></tr>';
i := pos('<tr',SourceStr);
while (i>0) and (i<pos('</tr>',SourceStr)-5) do
begin
i := PosEx('<td>',SourceStr,i);
Str := Copy(SourceStr,i+4,PosEx('</td>',SourceStr,i+4)-i-4);
i := PosEx('</td>',SourceStr,i);
showmessage(Str);
end;
end;
可以分别取出字符串中每个<td></td>中的内容。
[解决办法]
先查找<tr和</tr的位置,把他们中间的字符截出来
再查找<td>和</td>的位置,把他们中间的字符截出来,并删除</td>之前的字符
重复上一步
[解决办法]
B/S 程序不会,
我只喜欢C/S程序

[解决办法]

Delphi(Pascal) code
procedure TForm1.btn1Click(Sender: TObject);var  i, j: integer;  ovTable: OleVariant;begin  ovTable := Wb1.OleObject.Document.all.tags('TABLE').item(0);  //这里是每一行的内容  for i := 0 to (ovTable.Rows.Length - 1) do  begin    //这里是每一列的内容    for j := 0 to (ovTable.Rows.item(i).Cells.Length - 1) do    begin      //这里可以加入你的处理      mmo1.Lines.Add(ovTable.Rows.Item(i).Cells.Item(j).InnerTxt);    end;  end;end;
[解决办法]
读到字符串, POSEx 函数也可~~
[解决办法]
正则表达式就好了

热点排行