从网站抓取文件以自动同步数据

时间:2014-05-03 04:05:51

标签: c# api http web windows-store-apps

我想每周抓取一个文件(excel文件),因为excel文件中的数据不断变化,例如,出租车信息的excel文件。它会在我抓住的网站上不断变化。除了偶尔添加新数据外,一切都保持不变。我正在使用C#构建一个应用程序并将其发布到抓取该文件并保存它的商店。从那个excel文件中,我打算创建一个api,例如getCabNames(),getCabNum()等。

由于它将是商店中已有的应用程序,因此我的代码必须足够高效,才能从网站上获取文件并使其自动同步。在我本地计算机上的linux系统上,我可以有一个'wget'的脚本,我可以通过cron它,但由于这是商店的应用程序,我不能这样使用它。

问题是如何每周左右从网站检索文件并继续更新文件以使其同步。这个网站:link该文件位于名为Taxicab Stand Locations(Excel)的链接的底部

这样做最有效的方法是什么?感谢。

3 个答案:

答案 0 :(得分:2)

听起来您需要通过某种Web服务将excel中的数据提供给您的应用,但您已经知道,因为您计划创建API。如果您了解c#,请查看asp.net mvc web api并创建一个控制器,该控制器读取存储在服务器上的excel文件,并以您的应用程序理解的格式返回其数据。

这是一个如何使用asp.net mvc web api构建Web服务的示例

http://www.asp.net/web-api/overview/creating-web-apis/creating-a-web-api-that-supports-crud-operations

答案 1 :(得分:0)

您无法指望在任何给定时间运行的应用。您可以在应用程序上次下载文件时确定日期,然后在一周后检查新的文件,但这可能不可靠。您应该是一个始终运行的Web服务,并在方便时将文件存档以供应用程序下载。然后,您可以创建一个cron作业来查询服务以下载和归档文件。

答案 2 :(得分:-1)

使用计时器还是什么?使它成为一个Windows服务。