• asp.net网页上获取其中表格中的数据(爬数据)


    下面的方法获取页面中表格数据,每个页面不相同,获取的方式(主要是正则表达式)不一样,只是提供方法参考。大神勿喷,刚使用了,就记下来了。
    其中数据怎么存,主要就看着怎么使用了。只是方便记录就都放在list集合中了。
     1 public List<List<string>> DataSearch(string Url)
     2         {
     3             List<string>  listR = null;
     4             List<List<string>> list = new List<List<string>>();
     5 
     6             WebRequest request = WebRequest.Create(Url); //请求url
     7             WebResponse response = request.GetResponse(); //获取url数据
     8             StreamReader reader = null;           
     9             reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding("UTF-8"));
    10             string str = reader.ReadToEnd(); //读取的页面数据(源码)
    11 
    12             reader.Close();
    13             reader.Dispose();
    14             response.Close();
    15             string strRegexR = @"(?<=<tr>)([sS]*?)(?=</tr>)"; //构造解析表格行数据的正则表达式
    16             //string strRegexD = @"(?<=<td[^>]*>[s]*?)([S]*)(?=[s]*?</td>)"; //构造解析表格列数据的正则表达式
    17             //string strRegexD = @"\>(.+?)\<";
    18             Regex regexR = new Regex(strRegexR);
    19             MatchCollection mcRows = regexR.Matches(str); //执行匹配,获取行数据
    20             
    21             foreach (Match mr in mcRows )
    22             {
    23                     listR = new List<string>();
    24                     string strRegex = @"<font.*?>(?<value>.*?)</font>";
    25                     Regex regex = new Regex(strRegex);
    26                     MatchCollection mcD = regex.Matches(mr.Groups[0].ToString()); //执行匹配
    27 
    28                     for (int i = 0; i < mcD.Count; i++)
    29                     {
    30                         string value = mcD[i].Groups["value"].Value;
    31                         listR.Add(value);//每行的数据放在list集合中,可自行怎么处理本行数据
    32                     }                    
    33                 list.Add(listR);
    34 
    35             }
    36             return list;
    37         }   
    View Code
  • 相关阅读:
    开发者和设计师:为何我们不能好好相处?(转载)
    PHP ACCESS
    来自腾讯的session跨域,跨服代码
    php大括号妙用。
    php mysql 记录集的操作
    开始我的代码笔记
    收藏一个php用的一个页码按钮类
    修改过后的数字英文字符生成图片代码
    搜藏一点php session 常用方法
    php包含漏洞收集程序代码
  • 原文地址:https://www.cnblogs.com/syp1Blog/p/9444377.html
Copyright © 2020-2023  润新知