小弟要做一个功能:就是网站每天0时自动去其他的网页采集所需数据,然后插入自己的数据库中。请问如何实现?需要哪些知识?望高人指点。
解决方案 »
- |zyciis| C# cs 有继承的功能,那aspx文件有没有继承的功能呢!?
- 杯具了,不能验证中文字符
- 网站目录下所有.jpg都不能访问,其他图片文件如gif,png都能访问,这是什么原因?
- asp.net生成缩略图后gif动画就不能动了?
- 帮忙指点一下 在线等结果 先谢谢了~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~`
- 思归,孟子..以及各位大哥们,内存回收到底是怎么样一个原理
- 为什么我只能提问不能回帖子呢,郁闷中。。。
- 在页面中有个<iframe>,怎么在页面中,在关闭窗口前提交<iframe>中的表单?
- 奇怪的问题!!!!
- 请教关于聊天室的问题
- 数据库的表能通过日志还原到一定的时间点吗?
- 存储过程有像事务一样的效果么?一次插入多个表的情况如何处理呢?
在Global.asax.cs中加入以下代码:
System.Timers.Timer timer = new System.Timers.Timer();
protected void Application_Start(Object sender, EventArgs e)
{
timer.Elapsed += new System.Timers.ElapsedEventHandler(start); //start 是你的函数名
timer.Interval = // 从现在到0点的毫秒数。
timer.AutoReset = true;
timer.Enabled = true;
} private void start(object sender, System.Timers.ElapsedEventArgs e)
{
timer.Interval = 24*60*60*1000;
//下面这一段改成你自己的
//读网页
Uri uri = new Uri("http://showroom.netdania.com/fxcm/XML_QuoteList.asp");
WebRequest wr = WebRequest.Create(uri);
Stream s = wr.GetResponse().GetResponseStream();
StreamReader sr = new StreamReader(s, Encoding.Default);
string strhtml = sr.ReadToEnd();
sr.Close();
s.Close(); // 用正则取各项
const string str = "<TR>\\r\\n\\r\\n" +
"\\t<TD class=\"text\" align=\"left\" nowrap><font style=\"font-size: 8pt\" face=\"Arial\">([^\\<]*)</font></TD>\\r\\n" +
"\\t<TD class=\"text\" align=\"right\"><font style=\"font-size: 8pt\" face=\"Arial\">([^\\<]*)</font></TD>\\r\\n" +
"\\t<TD class=\"text\" align=\"right\"><font style=\"font-size: 8pt\" face=\"Arial\">[^\\<]*</font></TD>\\r\\n" +
"\\t<TD class=\"text\" align=\"right\"><font style=\"font-size: 8pt\" face=\"Arial\">[^\\<]*</font></TD>\\r\\n\\r\\n</TR>";
//const string str = "\"text\"";
Regex r = new Regex( str, RegexOptions.Compiled);
MatchCollection m = r.Matches( strhtml );
int n = m.Count;
for( int i = 0; i < n; i++ )
{
strprice += string.Format( "<tr style='COLOR: #444; BACKGROUND-COLOR: #{4}' align='center'>" +
"<td> {0} </td><td> {1} </td><td> {2} </td><td> {3} </td></tr>",
m[i].Groups[1],
m[i].Groups[2],
"",
"",
((i&1) == 0) ? "fff" : "eee"
);
}
}
计算出当前时间与0点的毫秒数,是Start时间,然后每隔24小时(24*60*60*1000)一周期。
lz,你要明白Global.asax是什么文件。