jpe*_*thy 6 html ruby ruby-on-rails ads html-parsing
我正在开发一个Web应用程序,我在其中显示来自其他网站的HTML.在显示最终版本之前,我想摆脱广告.
关于如何实现这一点的任何想法,建议?它不需要是一个超级有效的过滤工具,我正在考虑将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 }
Run Code Online (Sandbox Code Playgroud)
我为此页面应用了过滤器:

结果是:

不是那么糟糕,请注意全局通配符过滤器也删除了有效的元素,如标题,因为它们具有类似的属性id="masthead".
所以我认为这种方法对我来说是好的,现在的问题是使用什么过滤器?他们有一个巨大的过滤器列表,我不想迭代所有这些过滤器.我正在考虑抓住前10-20并根据它解析文档,那里有最受欢迎的列表吗?如果是这样,我一直无法找到它.
| 归档时间: |
|
| 查看次数: |
180 次 |
| 最近记录: |