在c# . net中,有没有一种方法可以从ajax网页中抓取动态数据?

本文关键字:ajax 网页 抓取 数据 动态 方法 一种 net 有没有 | 更新日期: 2023-09-27 18:17:18

我想调查一个不断更新动态数据的网页,并获取该数据。我不想每秒钟都重新加载整个页面。有没有办法在不重新加载页面的情况下获取数据?

我正在编写一个用于演示的控制台应用程序。

多谢!

在c# . net中,有没有一种方法可以从ajax网页中抓取动态数据?

不完全是。首先,HTTP是无状态的。当你执行一个HTTP请求时,你总是得到静态数据,即使使用动态例程来生成它。

听起来不像你可以通过任何其他方式(即直接链接到数据库,Web服务等)访问用于构建页面的数据-如果你可以,你就不会抓取网页了。

即使你能做到,也不会有太大的区别。您仍然需要将您现在拥有的数据与远程服务拥有的数据进行比较。如果没有推送通知,你就在轮询,如果你在轮询,是的,你必须一直检查。

您可以使用返回的头数据来检查最后修改的日期:

HttpWebResponse.LastModified

…然而,设置这个日期完全取决于服务器——所以它可能准确,也可能不准确。

防止手动抓取的另一个选项可能是简单地获取返回数据的校验和。您可以将其存储起来,并将加价的总和与您存储的总和进行比较。

您可以考虑将应用程序编写为HTML应用程序(HTA)。这为您提供了完整的浏览器功能,以及挂钩到事件的能力,并在另一个窗口中显示数据,或写入磁盘文件。