我很想浏览一个不断更新动态数据的网页,并抓取这些数据。我不想每秒重新加载整个页面。有没有办法在不重新加载页面的情况下获取数据?
我正在编写控制台应用程序以进行演示。
非常感谢!
答案 0 :(得分:0)
您可以使用返回的标题数据来检查上次修改日期:
HttpWebResponse.LastModified
...但是,完全取决于服务器设置此日期 - 因此它可能准确也可能不准确。
防止手动抓取的另一个选择可能是简单地获取返回数据的校验和。您可以将其存储起来并将标记的总和与您存储的内容进行比较。
答案 1 :(得分:0)
不是真的。首先,HTTP是无状态的。当您执行HTTP请求时,即使使用动态例程生成静态数据,也会始终返回静态数据。
听起来你不能以任何其他方式点击用于构建页面的数据(例如直接链接到数据库,Web服务等) - 如果你可以,你就不会抓取网页。
即使你能做到这一点,也不会产生太大的影响。您仍然需要将现有数据与远程服务所拥有的数据进行比较。没有某种推送通知,你正在进行投票,如果你正在进行投票,是的,你必须一直检查。
答案 2 :(得分:0)
您可以考虑将应用程序编写为HTML应用程序(HTA) 这为您提供了完整的浏览器功能,以及挂钩事件,在另一个窗口中显示数据或写入磁盘文件的功能。