我想每周抓取一个文件(excel文件),因为excel文件中的数据不断变化,例如,出租车信息的excel文件。它会在我抓住的网站上不断变化。除了偶尔添加新数据外,一切都保持不变。我正在使用C#构建一个应用程序并将其发布到抓取该文件并保存它的商店。从那个excel文件中,我打算创建一个api,例如getCabNames(),getCabNum()等。
由于它将是商店中已有的应用程序,因此我的代码必须足够高效,才能从网站上获取文件并使其自动同步。在我本地计算机上的linux系统上,我可以有一个'wget'的脚本,我可以通过cron它,但由于这是商店的应用程序,我不能这样使用它。
问题是如何每周左右从网站检索文件并继续更新文件以使其同步。这个网站:link该文件位于名为Taxicab Stand Locations(Excel)的链接的底部
这样做最有效的方法是什么?感谢。
答案 0 :(得分:2)
听起来您需要通过某种Web服务将excel中的数据提供给您的应用,但您已经知道,因为您计划创建API。如果您了解c#,请查看asp.net mvc web api并创建一个控制器,该控制器读取存储在服务器上的excel文件,并以您的应用程序理解的格式返回其数据。
这是一个如何使用asp.net mvc web api构建Web服务的示例
答案 1 :(得分:0)
您无法指望在任何给定时间运行的应用。您可以在应用程序上次下载文件时确定日期,然后在一周后检查新的文件,但这可能不可靠。您应该是一个始终运行的Web服务,并在方便时将文件存档以供应用程序下载。然后,您可以创建一个cron作业来查询服务以下载和归档文件。
答案 2 :(得分:-1)
使用计时器还是什么?使它成为一个Windows服务。