屏幕刮刀如何工作?

Mic*_*cah 20 screen-scraping html-content-extraction pdf-scraping web-scraping console-scraping

我听说人们一直在写这些程序,我知道他们做了什么,但他们是如何做到的呢?我正在寻找一般概念.

bmd*_*cks 24

从技术上讲,screenscraping是任何程序,它抓取另一个程序的显示数据并摄取它自己使用.

通常,屏幕截图是指解析目标网站的HTML页面以提取格式化数据的Web客户端.当网站不提供RSS源或REST API以便以编程方式访问数据时,就可以完成此操作.

用于此目的的库的一个示例是Hpricot for Ruby,它是用于屏幕抓取的更好架构的HTML解析器之一.


sli*_*lim 14

这里有很多准确的答案.

没人说的是不要做!

当没有人为您提供合理的机器可读界面时,屏幕抓取就是您所做的.这很难写,而且很脆弱.

例如,考虑RSS聚合器,然后考虑通过正常的面向人的博客界面获取相同信息的代码.当博客决定更改布局时,哪一个会中断?

当然,有时候你别无选择:(


Mik*_*keJ 7

通常,屏幕抓取器是通过使用浏览器或终端访问程序模拟坐在工作站前面的人的动作来捕获来自服务器程序的输出的程序.在某些关键点,程序将解释输出,然后采取行动或从输出中提取一定量的信息.

最初这是通过大型机的字符/终端输出完成的,用于提取数据或更新最终用户过时或不能直接访问的系统.在现代术语中,它通常意味着解析HTTP请求的输出以提取数据或采取其他一些操作.随着Web服务的出现,这种事情应该已经消失,但并非所有的应用程序都提供了一个很好的api来进行交互.