屏幕抓取

本文关键字:抓取 屏幕 | 更新日期: 2023-09-27 18:09:09

只是好奇:你觉得现在创建自动屏幕刮擦的最佳工具是什么?.Net敏捷包是一个好的选择吗?对于大量使用AJAX的站点,您会怎么做?

屏幕抓取

我发现,如果页面有一个相当静态的布局,那么HTML敏捷包是获得我需要的所有数据的完美选择。我还没有遇到过它不能处理的页面,也没有给我想要的结果。

如果你发现页面是用大量的动态代码呈现的,你将不得不做的不仅仅是下载页面,你必须实际执行它。

要做到这一点,你需要WebKit。net库(WebKit渲染引擎的。net包装器)这样的东西,它允许你下载页面并实际执行Javascript。然后,一旦您确定文档已经完全呈现,您就可以获得页面详细信息。

对于最基本的,我使用:

  • 异步HTTP客户端-明显比标准HttpWeb*快(初步测试表明它大约快25%)。
  • Majestic 12 HTML Parser -大约比HTML Agility Pack快50-100%。

我还没有启用JavaScript,但我计划使用谷歌的V8 JavaScript引擎。这需要调用非托管代码,但V8的性能证明了这一点。

对于自动屏幕抓取,Selenium是一个很好的工具。有两件事- 1)安装Selenium IDE(仅适用于Firefox)。2)安装Selenium RC Server

启动Selenium IDE后,转到您试图自动化的站点并开始记录您在站点上执行的事件。把它想象成在浏览器中记录一个宏。之后,您将获得所需语言的代码输出。

让你知道Browsermob使用Selenium进行负载测试和在浏览器上自动执行任务。

我上传了一个我不久前制作的ppt。这将为您节省大量的时间- http://www.4shared.com/get/tlwT3qb_/SeleniumInstructions.html

在上面的链接中选择常规下载选项。

我花了很多时间想出来,所以我想这可能会节省一些人的时间。

"这些天"最好的工具是一个不仅给你想要的功能(Javascript,自动化),而且你不需要自己运行的工具…当然,我指的是使用云服务。这种方法将节省您的网络带宽,将更快地交付结果(因为它可以比您可能最终开发的定制解决方案更好地扩展),最重要的是,为您节省it和维护方面的麻烦。

关于这一点,请查看一个名为Bobik的抓取解决方案(http://usebobik.com)。我在http://zscraper.wordpress.com/2012/07/03/a-comparison-shopping-android-app-without-backend/上写了一篇关于它的文章。