代码之家  ›  专栏  ›  技术社区  ›  Matteo Mosca

从ASPX页提取数据

  •  0
  • Matteo Mosca  · 技术社区  · 14 年前

    我被老板托付了一项愚蠢的任务。

    任务是:给定一个返回分页表的web应用程序,做一个“读取并解析它”的软件,因为没有什么比提供原始数据的web服务更合适的了。它就像一个“spider”或“crawler”应用程序来窃取不打算以编程方式访问的数据。

    现在的问题是:这个应用程序是用standart aspx webform engine开发的,所以不像标准的url或post,而是一个可怕的postback引擎,里面充斥着javascript和不可访问的html。分页链接调用了臭名昭著的javascript:uu doPostBack(param,param),所以我认为即使我尝试模拟这些链接上的点击,它也不会起作用。

    还有一些输入来过滤结果,它们也是postback机制的一部分,所以我无法模拟常规post来获得结果。

    编辑:也许我有点不清楚我要实现什么。我必须以另一种格式(比如excel)解析、提取和转换数据,而不仅仅是读取数据。这些东西必须在没有用户输入的情况下实现自动化。我不认为硒会减少它。

    编辑:我刚刚在博客上谈到了这种情况。如果有人感兴趣的话,你可以在 http://matteomosca.com/archive/2010/09/14/unethical-programming.aspx 并对此发表评论。

    4 回复  |  直到 10 年前
        1
  •  1
  •   eglasius    14 年前

    不要忽视建议的工具。

    另外,如果你提到过需要从flash/flex/silverlight/similar中提取数据的话,那就另当别论了。


    顺便说一句,进行或不进行的理由肯定不是技术,但道德,甚至可能是合法的。请看我对这个问题的看法。

        2
  •  1
  •   Community Lee Campbell    7 年前

    WatiN 将帮助您从UI的角度浏览站点并获取HTML,您可以在.NETDOM解析器中找到相关信息 here .

        3
  •  0
  •   Sergey Mirvoda    14 年前

    已经评论过但这样想其实是一个答案。
    你需要一个工具,可以点击客户端链接,等待页面重新加载。 工具就像 selenium 同时(来自评论) WatiN WatiR

        4
  •  0
  •   Tac Tacelosky    14 年前

    @疯了,疾控中心的网站有这个确切的问题,而且数据是公开的(我们纳税人已经为此付出了代价),我正试图从他们那里得到调查和问题数据 http://wwwn.cdc.gov/qbank/Survey.aspx 这是非常困难的。不是非法或不道德的,只是一个可怕的实现,似乎是故意使它难以获得数据(也无法搜索引擎)。