Web 下载晨星网页进行截屏

Web 下载晨星网页进行截屏,web,screen-scraping,finance,download,Web,Screen Scraping,Finance,Download,我想能够截取晨星的网页。晨星提供了一个共同基金的信息,我经常查找,但在其他地方找不到 与基准相比的总回报 与同行相比的总回报 百分位排序 下面是一个例子: 作为截屏的前奏,我需要能够下载包含所需内容的网页。不幸的是,当我尝试使用JavaSE6或wget检索上面的示例链接时,我只得到html的一部分(没有显示总返回数字的表)。如果我使用浏览器(Chrome),只将页面保存为html,则会得到相同的结果。我注意到,如果我使用浏览器保存完整的页面(html、js、css和其他所有内容),下载的html

我想能够截取晨星的网页。晨星提供了一个共同基金的信息,我经常查找,但在其他地方找不到

  • 与基准相比的总回报
  • 与同行相比的总回报
  • 百分位排序
  • 下面是一个例子:

    作为截屏的前奏,我需要能够下载包含所需内容的网页。不幸的是,当我尝试使用JavaSE6或wget检索上面的示例链接时,我只得到html的一部分(没有显示总返回数字的表)。如果我使用浏览器(Chrome),只将页面保存为html,则会得到相同的结果。我注意到,如果我使用浏览器保存完整的页面(html、js、css和其他所有内容),下载的html确实包含有趣的信息

    我有两个问题:

  • 如何以编程方式下载整个html文件?虽然我用Java编写这个程序,但我不介意调用外部工具
  • 为什么我前面提到的尝试没有产生我所期望的HTML
  • 谢谢

    作为补充说明,我将Yahoo Finance和YQL/datatables视为备选方案,但Yahoo Finance并未提供百分位排名。如果你查看共同基金的业绩,你会看到排名的N/a值。不幸的是,这将妨碍使用YQL/datatables

    关于晨星版权的任何问题,我正在为个人、非商业用途进行截屏,他们的版权声明在第二段的最后一句中允许:

    您有权将其包含的信息用于您的私人用途, 仅限非商业用途

    你试过irobot吗?您可以通过以下方式进行验证:

    • 转到url
    • 标记感兴趣的数据
    • 添加“获取数据”操作
    • 测试该操作并查看它是否提取了所需的数据

    他们有一个论坛,您可以在这里询问一般的屏幕抓取问题,因此该页面广泛使用XMLHttpRequest来填充数据,这意味着您的抓取者必须执行javascript评估。如果您在Chrome中使用开发者工具,您可以看到用于构建页面的HTML和用于构建表的JSON数据


    为了解决这个问题,我会尝试使用InternetExplorer,因为它可以在其中托管整个页面并执行javascript评估。可能还有其他方法可以使用API,比如WebKit,但IE应该是开箱即用的。

    要下载晨星网页,我需要一个工具来下载和解释与网页相关的javascript代码。StackOverflow中提到了许多针对不同编程语言和浏览器的此类工具。以下是我最后使用的:

    • -用于Java程序的无GUI浏览器
    • -自动生成htmlunit代码的firefox插件

    • 根据我的经验,Perl的WWW:Mechanize非常适合这类任务。一旦有了数据,您打算如何处理这些数据?@Eamorr查看页面源代码,然后阅读WWW::Mechanize文档,了解为什么这样做行不通。我计划将屏幕刮取值与其他网站的屏幕刮取数据相结合,并将其输出到电子表格中。@marto,第二段最后一句:您有权将其中包含的信息仅用于您的私人、非商业用途。请撤消你的否决票。谢谢你的回复。我一直在玩htmlunit,并且意识到,你所指出的。。。我需要一些东西来处理javascript。