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