正则抓取网页table并把获取的数据存入数据库
//创建datatable
DataTable dt = new DataTable();
dt.Columns.Add("SeaNum", typeof(int));//海区编号
dt.Columns.Add("SeaName", typeof(string));//海区名称
dt.Columns.Add("WaveHeight", typeof(string));//浪高
dt.Columns.Add("BayHigh", typeof(string));//涌高
dt.Columns.Add("SST", typeof(int));//海温
dt.Columns.Add("AverMaxflowrate", typeof(string));//平均流速/最大流速
dt.Columns.Add("Averflowflowof", typeof(string));//平均流向/最大流向
dt.Columns.Add("Time", typeof(string));//时间
dt.TableName = "jhhyyb";
//Url = "http://www.nmefc.gov.cn/nr/jhhyhjyb.aspx";
string html = GetWebContent1("http://www.nmefc.gov.cn/nr/jhhyhjyb.aspx");
string pattern = @"(?is)<table[^>]*?bgcolor=""#CCCCCC""[^>]*?>.*?</table>";
html = Regex.Match(html,pattern).Value;
foreach(Match m in Regex.Matches(html,@"(?<=<td[^>]+>).*?(?=</td>)"))
{
//Response.Write(m.Value);
}
这里已经获取到网页table的数据了 怎么循环截取把获取到的数据存到数据库里
table
正则
数据库
------解决方案--------------------你可以把匹配到的数据放到list中,然后再插入数据库
string html="yourhtml";
foreach(Match m in Regex.Matches(html,@"(?<=<td[^>]+>).*?(?=</td>)"))
{
list.Add(m.Value);
}
insert into table(c1,c2,....) values(list[0],list[1],......)//c1,c2你的列名
------解决方案--------------------
你怎么写的???
------解决方案--------------------
插入就直接执行NonExceuteQuery()方法就行了啊
------解决方案--------------------