vba数据抓取屏幕数据_如何使用屏幕抓取工具从Web提取数据

vba数据抓取屏幕数据

完美的Internet可以按照客户选择的格式(无论是CSV,XML,JSON等)向客户提供数据。真正的Internet有时会通过提供数据来取笑,但通常以HTML或PDF文档格式提供,而这些格式旨在显示数据比数据交换。 因此,昨天的屏幕抓取 (提取显示的数据并将其转换为请求的格式)在今天仍然很重要。

Perl具有出色的屏幕抓取工具,其中包括以下Scraping程序中描述的HTML::TableExtract包。

刮刮程序概述

屏幕抓取程序有两个主要部分,它们组成如下:

  • 文件data.html包含要抓取的数据。 此示例中的数据源自正在装修的大学场所,该数据解决了与大学学位相关的收入是否证明该学位成本合理的问题。 数据包括中位数收入,百分位数,以及其他有关研究领域的信息,例如计算机,工程学和文科。 要运行Scraping程序,data.html文件应托管在Web服务器上(在我的情况下是本地Nginx服务器)。 一个独立的Perl Web服务器,例如HTTP::Server::PSGIHTTP::Server::Simple也可以。
  • 文件scrape.pl包含Scraping程序,该程序使用Plack/PSGI软件包(尤其是Plack Web服务器)中的功能。 从命令行启动Scraping程序(如下所述)。 用户在浏览器中输入Plack服务器的URL( localhost:5000/ ),将发生以下情况:
    • 浏览器连接到Plack服务器( HTTP::Server::PSGI的实例),并向Scraping程序发出GET请求。 URL末尾的单斜杠( / )标识此程序。 (即使用户没有这样做,现代的浏览器也会添加斜杠。)
    • 然后,Scraping程序对data.html文档发出GET请求。 如果请求成功,则应用程序使用HTML::TableExtract包从文档中提取相关数据,将提取的数据保存到文件中,并采取一些基本的统计措施来表示处理提取的数据。 如下所示HTML报告将返回到用户的浏览器。
HTML report generated by the Scraping program

图1:Scraping程序的最终报告

从用户浏览器到Plack服务器,再到托管data.html文档的服务器(例如Nginx)的请求流量可以描述如下:


   
   
   
              GET localhost:5000/             GET localhost:80/data.html
user's browser------------------->Plack server-------------------------->Nginx

最后一步仅涉及Plack服务器和用户的浏览器:


   
   
   
             reportFinal.html
Plack server------------------>user's browser

上面的图1显示了最终报告文件。

刮刮程序详细

可从我的网站以包含自述文件的ZIP文件的形式获得源代码和数据文件(data.html)。 以下是各部分的简要摘要,下面将进行说明:


   
   
   
data.html             ## data source to be hosted by a web server
scrape.pl             ## main source code, run with the plackup utility (see below)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值