首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在c#.net中实现爬虫过程的自动化?

如何在c#.net中实现爬虫过程的自动化?
EN

Stack Overflow用户
提问于 2012-01-11 15:06:26
回答 2查看 1K关注 0票数 0

我正在设计一个ASP.NET和C#的网站,在其中我正在做以下的任务。

有一个表List_of_Site,其中包含要爬行的站点列表。另一个表Site1_Links,它包含链接、内容等爬行数据。

我用c# asp.net编写了一个程序,其中我在visual中有一个表单Home.aspx,还有一个名为Crawl的按钮。每当我单击该按钮时,它都会逐个从表List_of_Site获取站点,然后抓取它们以查找可用的新链接,并将它们分别保存在Site1_Links表中。

但要做到这一点,我需要每次点击按钮,但我想要的东西,可以自动化的进程在一段时间间隔,例如X分钟。

请给我一个建议?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-11 15:11:33

为此,您不希望使用ASP.NET web应用程序。Web应用程序是被动的请求/响应系统。他们躺在那里等待一个请求,回应它,然后回去等待。不适合预定的后台任务。

一般来说,您有两个简单的选项:

  1. 控制台应用程序(由调度程序运行)
  2. a Windows Service

从历史上看,控制台应用程序更易于编写和调试。我相信Windows仍然附带了一个捆绑的任务调度程序,它可以在一个设定的时间表上运行一个可执行文件。我通常更喜欢这种方法。然而,也有一些取舍。例如,我不相信它会运行,除非有人登录到机器上。

Windows服务通常更适合该任务,但对于普通用户来说,编写和维护通常要复杂一些。但是,它的好处是它不干扰UI (运行时没有黑色控制台窗口),也不需要有人登录到工作站运行。

票数 3
EN

Stack Overflow用户

发布于 2012-01-11 15:09:14

试着把计时器挂到你的按钮上。你可能也想让它停下来。以下是关于使用上述计时器的一个很好的教程。

http://msdn.microsoft.com/en-us/library/bb386404.aspx

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8821522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档