Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C.NET中,有没有一种方法可以从ajax网页中获取动态数据?_C#_Html_Ajax_Web Scraping - Fatal编程技术网

C# 在C.NET中,有没有一种方法可以从ajax网页中获取动态数据?

C# 在C.NET中,有没有一种方法可以从ajax网页中获取动态数据?,c#,html,ajax,web-scraping,C#,Html,Ajax,Web Scraping,我想调查一个不断更新动态数据的网页,并获取这些数据。我不想每秒都重新加载整个页面。有没有办法在不重新加载页面的情况下获取数据 为了演示的目的,我正在编写一个控制台应用程序 非常感谢 您可以使用返回的标题数据检查上次修改的日期: HttpWebResponse.LastModified …但是,设置此日期完全取决于服务器-因此它可能准确,也可能不准确 防止手动刮取的另一个选项可能是简单地获取返回数据的校验和。您可以将其存储起来,并将标记的总和与存储的值进行比较 不太可能。首先,HTTP是无状态的

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

为了演示的目的,我正在编写一个控制台应用程序


非常感谢

您可以使用返回的标题数据检查上次修改的日期:

HttpWebResponse.LastModified
…但是,设置此日期完全取决于服务器-因此它可能准确,也可能不准确


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

不太可能。首先,HTTP是无状态的。当您执行HTTP请求时,即使使用了动态例程来生成静态数据,您也将始终获得静态数据

听起来你不可能以任何其他方式点击用于构建页面的数据,如直接链接到数据库、Web服务等-如果可以,你就不会抓取网页


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

你可以考虑写应用程序HTML应用程序HTA。


这为您提供了完整的浏览器功能,以及挂接事件、在另一个窗口中显示数据或写入磁盘文件的功能。

您是否尝试过模拟真实浏览器的行为,即。。进行AJAX调用并解析结果?定义动态数据。该页面是否返回在其服务器上频繁更新的静态内容,或者该页面是否有大量JavaScript/AJAX动态更新其数据?谢谢各位,这有点像股票行情器。我没有触发更新-它们只是周期性地发生。我一直在使用PhantomJS无头WebKit浏览器,但更喜欢C解决方案。谢谢Paul-我告诉上面的人,我一直在使用PhantomJS无头WebKit浏览器来实现这一点,但结果不一。我不是一个熟练的Javascript开发人员,我更喜欢用C语言开发。我认为浏览器插件可能是一个更好的方法。谢谢William!你有这个链接吗?我从没听说过。听起来很有希望。干杯谢谢乔治-我不确定,但似乎我仍然需要每秒重新加载页面?我认为编写浏览器插件可能是一种更好的方式,除非William的HTML应用程序HTA的想法奏效。