代码之家  ›  专栏  ›  技术社区  ›  PassionateDeveloper

每5秒钟读一个网站-如何快速完成?

  •  0
  • PassionateDeveloper  · 技术社区  · 14 年前

    我想每隔X秒读取一个服务器状态网页。 地点是: http://www.ffxiv-status.com/

    如何轻松快速地完成?

    我在谷歌上找到了这几行,用来读取网页来源:

    WebClient wClient = new WebClient();
    string strSource = wClient.DownloadString("http://www.google.de");
    

    我可以拆分页面,然后使用字符串等,并可以查看服务器的状态和ms。

    这是禁食和资源的最佳方式还是有更好的方式?

    (C.NET 3.5与2010)

    3 回复  |  直到 14 年前
        1
  •  1
  •   CyberDude    14 年前

    你要做的是一个小刮刀。您一定可以得到页面源,然后分析它。我建议使用正则表达式来查找所需的内容。当然,如果页面设计发生变化,则必须不断更新解析例程。

        2
  •  0
  •   Borealid    14 年前

    HTTP支持请求头(如果在此后进行了修改),如果在过去的某个指定日期后请求头发生了更改,则仅下载该页。为什么你不用它来检索完整的状态页,如果它有新的信息?

    另外,如果您每五秒钟进行一次轮询,则会出现问题。您可能应该设置推送通知系统,以避免持续浪费系统资源。

        3
  •  0
  •   Will Hartung    14 年前

    每5秒一次。谁在乎。不需要5秒,这是肯定的。我甚至不确定CPU是否会从睡眠模式唤醒来处理这个过程。

    它的处理将由网络流量控制,我使用“控制”这个词非常非常轻。

    如果您在带有kermit的HP计算器上运行这个程序,您可能需要考虑其他一些潜在的优化。但是,对于真正的系统……只是一个问题。

    如果是我,我会找“wget”和grep/sed来查找和清理数据。但我很懒。