Mic*_*cah 20 screen-scraping html-content-extraction pdf-scraping web-scraping console-scraping
我听说人们一直在写这些程序,我知道他们做了什么,但他们是如何做到的呢?我正在寻找一般概念.
sli*_*lim 14
这里有很多准确的答案.
没人说的是不要做!
当没有人为您提供合理的机器可读界面时,屏幕抓取就是您所做的.这很难写,而且很脆弱.
例如,考虑RSS聚合器,然后考虑通过正常的面向人的博客界面获取相同信息的代码.当博客决定更改布局时,哪一个会中断?
当然,有时候你别无选择:(
通常,屏幕抓取器是通过使用浏览器或终端访问程序模拟坐在工作站前面的人的动作来捕获来自服务器程序的输出的程序.在某些关键点,程序将解释输出,然后采取行动或从输出中提取一定量的信息.
最初这是通过大型机的字符/终端输出完成的,用于提取数据或更新最终用户过时或不能直接访问的系统.在现代术语中,它通常意味着解析HTTP请求的输出以提取数据或采取其他一些操作.随着Web服务的出现,这种事情应该已经消失,但并非所有的应用程序都提供了一个很好的api来进行交互.