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

请教下如何提取出来网页的字符串

2013-03-26 
请问下怎么提取出来网页的字符串,这个怎么实现啊,最好是提供下源码,可以在其他网页也通用的就更好了,我主

请问下怎么提取出来网页的字符串
,这个怎么实现啊,最好是提供下源码,可以在其他网页也通用的就更好了,我主要想学习下这个方法,我现在已经可以提取到第一期的开奖号码了(就是 09,03,08,11,06 ),下面的就不懂怎么查找了。我的思路是:用WebBrowser控件获取html源码,因为都是表格,格式都一样,所以再查找需要提取的字符的前面和后面的代码,然后提取字符串。就像上面这个网站,要提取开奖号码,得到了html,看到开奖号码附近的html源码是:


请注意一下,上面的网页时UTF-8编码的,需要转换下,要不然乱码的。可以用这个函数转换就行了。请教下如何提取出来网页的字符串
function Utf8Decode(const S: UTF8String): WideString;
  var
    L: Integer;
    Temp: WideString;
  begin
    Result := '';
    if S = '' then Exit;
    SetLength(Temp, Length(S));

    L := Utf8ToUnicode(PWideChar(Temp), Length(Temp) + 1, PChar(S), Length(S));
    if L > 0 then
      SetLength(Temp, L - 1)
    else
      Temp := '';
    Result := Temp;
  end;
webbrowser 字符 网页 源码 字符串
[解决办法]
使用正则来匹配,表达式为:
<td height="20" align="center" bgcolor="#FFFFFF">(\d+)</td>.*?<strong>([^<]*?)</strong>

正则可以用RegExpr 类 ,使用可以参考:
http://www.cr173.com/html/11076_1.html
=================
先自己研究下吧
满意了记得结贴给分
[解决办法]
用WebBrowser其實是相當快的。直接提取第三個表格中的第二列就行了。然後用逗號分割幾個號碼。成獨立的號碼便可。

個體代碼 http://hi.baidu.com/devhp/item/43093511ad8a0a423b176e7e



[解决办法]
引用:
用WebBrowser其實是相當快的。直接提取第三個表格中的第二列就行了。然後用逗號分割幾個號碼。成獨立的號碼便可。

個體代碼 http://hi.baidu.com/devhp/item/43093511ad8a0a423b176e7e


webbrowser其实有时候是挺好的,就是比较耗费资源点,速度慢点。他这个站页面好像还不小,打开有点小慢小慢的。
[解决办法]
用TIDHTTP.GET()获取网页源代码啊。然后把源代码处理处理不就得到你想要的字符串了。
当然处理这些字符串的技巧,就是利用html标签

热点排行