Closed 。这个问题需要多问focused /help/closed-questions 。目前不接受答案。
我正在开发一个 Web 应用程序,在其中显示来自其他网站的 HTML。在显示最终版本之前,我想去掉广告。
关于如何实现这一目标有什么想法、建议吗?它不需要是一个超级高效的过滤工具,我正在考虑移植一些filters https://adblockplus.org/en/filters 被定义为广告拦截加 https://adblockplus.org/en/source 到 Ruby 并在以下帮助下返回解析后的文档Nokogiri http://nokogiri.org .
假设我使用超级通配符过滤器ad
。这不是官方的广告拦截器,但为了简单起见,我将在这里使用它。然后的想法是删除任何属性与过滤器匹配的所有元素,例如:src="http://ad.foo.com?my-ad.gif"
href="http://ad.foo.com"
class="annoying-ad"
etc.
此过滤器的 Nokogiri 命令为:
doc.xpath("//*[@*[contains(., 'ad')]]").each { |element| element.remove }
我为此应用了过滤器page http://www.nytimes.com/2013/09/02/arts/music/kathleen-hanna-returns-with-the-julie-ruin.html?hp :
结果是:
还不错,请注意,全局通配符过滤器还删除了标头等有效元素,因为它们具有诸如id="masthead"
.
所以我认为这种方法适合我的情况,现在的问题是使用什么过滤器? 他们有一个巨大的list https://easylist-downloads.adblockplus.org/easylist.txt 过滤器,我不想迭代所有过滤器。我正在考虑获取前 10-20 名并据此解析文档,是否有一个包含最受欢迎的列表?如果是的话我还没找到。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)