在C#.NET中,有没有办法从ajax网页中抓取动态数据?

时间:2011-12-08 15:50:09

标签: c# html ajax web-scraping

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

我正在编写控制台应用程序以进行演示。

非常感谢!

3 个答案:

答案 0 :(得分:0)

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

HttpWebResponse.LastModified

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

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

答案 1 :(得分:0)

不是真的。首先,HTTP是无状态的。当您执行HTTP请求时,即使使用动态例程生成静态数据,也会始终返回静态数据。

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

即使你能做到这一点,也不会产生太大的影响。您仍然需要将现有数据与远程服务所拥有的数据进行比较。没有某种推送通知,你正在进行投票,如果你正在进行投票,是的,你必须一直检查。

答案 2 :(得分:0)

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