5

这种技术是否有一个名称,包括探索在浏览器中打开的页面以查找特定内容并对其进行修改?

一些例子:

  • Skype 在页面上查找电话号码,并附加呼叫菜单
  • 脚本在页面中查找百分比并将其替换为小饼图
  • 广告引擎在页面中找到关键字并将其转换为超链接
  • 在页面上指向另一个域的所有超链接旁边添加一个图标
  • 等等

我理解这是一种渐进增强。但我对第一步,即内容发现过程特别感兴趣。我会对提供最佳实践的文章感兴趣,或者解释这种技术的缺点。

编辑:我添加了一个示例来表明这种技术不仅适用于文本节点,而且可以应用于任何类型的 html 内容。

4

5 回答 5

5

例如,对这个网页(从控制台)执行这个代码,页面上的所有数字都将被替换为“X”:

function walkTheDOM( node, func ) {
    func( node );
    node = node.firstChild;
    while ( node ) {
        walkTheDOM( node, func );
        node = node.nextSibling;
    }
}

walkTheDOM( document.body, function ( node ) {
    if ( node.nodeType === 3 ) {
        node.data = node.data.replace( /\d/g, 'X' );
    }
});

在此处输入图像描述

于 2011-12-07T19:51:50.457 回答
0

这种功能称为附加组件,它们使用的技术是DOM 遍历

您描述的案例不是特定于一个站点的,而是出现在您访问的每个站点上,因此您的浏览器必须添加一些额外的功能。在安装 Skype 等新软件时检查安装工具栏等时通常会发生这种情况

该技术可以称为识别(如 PNR,Skype 电话号码识别),他们所做的是遍历您的站点 DOM。

上面描述的这个附加组件可能仅在页面加载时运行,因此稍后使用 ajax 添加的内容不会受到影响。

如果它是您自己的附加组件,则可以使用此处描述的 javascript 广告访问它:如何从 html 按钮调用 Firefox 扩展中的函数

还可以看看 GreaseMonkey 和 jQuery 遍历。

于 2011-12-07T20:25:11.863 回答
0

所以现在的结论是,这种技术似乎没有名称或既定做法。

感谢那些提到搜索引擎的人,将其视为本地搜索是有意义的,努力解释内容和结构。

于 2011-12-15T22:26:32.850 回答
-1

总结

这是所有网络爬虫中使用的技术。请查看开源有据可查的网络爬虫/搜索引擎Yioop!

于 2011-12-07T19:44:00.517 回答
-1

正如已经说过的那样,它是调用摘要,但您可以通过搜索“网络爬虫机器人/技术/机器人”找到更多关于它的信息。这里有一些您可能会发现有用的起始文档:

爬网

于 2011-12-07T19:51:58.583 回答