广告过滤服务器端

时间:2013-09-02 02:30:32

标签: html ruby-on-rails ruby html-parsing ads

我正在开发一个Web应用程序,我在其中显示来自其他网站的HTML。在显示最终版本之前,我想摆脱广告。

有关如何实现这一目标的任何想法和建议?它不需要是一个超级高效的过滤工具,我正在考虑将filters定义的adblockplus部分移植到Ruby,并在Nokogiri的帮助下返回已解析的文档。

假设我使用超级通配符过滤器ad。这不是官方adblock,但为了简单起见,我会在这里使用它。然后,想法是删除任何属性与过滤器匹配的所有元素,例如:src="http://ad.foo.com?my-ad.gif" href="http://ad.foo.com" class="annoying-ad"等。

此过滤器的Nokogiri命令是:

doc.xpath("//*[@*[contains(., 'ad')]]").each { |element| element.remove }

我为此page

应用了过滤器

original

结果是:

filtered

同样糟糕,请注意全局通配符过滤器也删除了有效的元素,例如标题,因为它们具有id="masthead"等属性。

所以我认为这种方法适用于我的情况,现在问题是使用什么过滤器?他们有一个巨大的list过滤器,我不想迭代所有这些。我正在考虑抓住前10-20并根据它解析文档,那里有最受欢迎的列表吗?如果是这样,我一直无法找到它。

0 个答案:

没有答案