我正在尝试制定一种检测网站主要内容DIV的策略。主要内容div表示:包含网站标题,正文和页脚的div。
检测它是一个非常困难和缓慢的过程。
例如,在http://www.goo.ne.jp/上,我会检测到id =“bodyWrapper”或“minWidthInbox”,因为这些div包含网站上的主要内容。
我也尝试过很多算法。但由于奇怪的网站结构和不一致性,所有网站都无法通过单一算法运行。
表布局特别难以检测。 : - (
我该如何解决这个问题?
答案 0 :(得分:3)
您应该查看可读性http://www.readability.com/。他们开发了一种算法来提取网页内容并删除所有其他元素,如页眉,页脚,广告。
不幸的是他们的算法不再公开了。他们在这里有一个API:http://www.readability.com/developers/api。
还有一些原始算法的实现。我在Python上使用了库,在NodeJS上使用了一个(https://github.com/arrix/node-readability),它们运行得很好。
关于主要div的问题,除非您要删除特定网站,否则我不建议您搜索这样一段特定代码。在我看来,你似乎是在追随内容,当然网站的html代码几乎可以包含所有内容,而不仅仅是主要内容。