php正则获取table,[正则]分析获取table表格

有这样一个网页:

http://stock.finance.sina.com.cn/hkstock/finance/01398.html

网页里面有四张财务报表:重要财务指标、资产负债表、现金流量表、综合损益表;

每张报表的右边都有一个“报表类型”的选择控件,用于选择报表是年报还是季报等;

string url = "http://stock.finance.sina.com.cn/hkstock/finance/01398.html";

WebRequest request = WebRequest.Create(url); //请求url

WebResponse response = request.GetResponse(); //获取url数据

StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("gb2312"));

string tempStr = reader.ReadToEnd();

//string tempStr = File.ReadAllText(@"C:\Documents and Settings\Administrator\桌面\Test.txt", Encoding.GetEncoding("GB2312"));//读取txt

string pattern = @"(?i)

]*?class=(['""])sub01_tt fblue\1[^>]*?>[\s\S]*? ]*?class=(['""])\s*?selected\2[^>]*?>]*?>(?[^[\s\S]*?";

pattern += @"

]*?class=(['""])sub01_cc\3[^>]*?>[\s\S]*?(?)";

string tableHtml = string.Empty;

foreach (Match m in Regex.Matches(tempStr, pattern))

{

//循环输出

string type = m.Groups["title"].Value.Trim();

switch (type)

{

case "重要财务指标":

tableHtml = m.Groups["table"].Value;

break;

case "资产负债表":

tableHtml = m.Groups["table"].Value;

break;

case "现金流量表":

tableHtml = m.Groups["table"].Value;

break;

case "综合损益表":

tableHtml = m.Groups["table"].Value;

break;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值