2012-02-09 92 views
6

Evernote's Web Clipper pluginAnnouncify plugin如何获取页面的相关文章/帖子/内容部分?下面是Evernote的插件的截图:只获取网站的相关部分

enter image description here

无论哪个网站您访问的是其他布局怀斯兄弟完全不同,这些总是能够让你的文章/后/内容页面的一部分。

每个网站都有不同的布局,一些有侧边栏,有的没有,不同的标签,主/条/内容的一部分,HTML5其他的一些使用<article><section>使用<h1> > <p>,一些使用<h2> > <p>和别人不使用在所有。所以有不同的标签组合和网站布局。

任何人都可以提出一个解决方案获得文章/帖子/内容请通过Javascript或PHP?

+0

这很聪明... – Jivings 2012-02-09 08:53:37

+0

也许它寻找页面上最大的'div'或其他元素? – Jivings 2012-02-09 08:54:50

+0

@Jivings:最大的div将包含整个网站,我们希望能够找到包含主要/文章部分的元素:) – Dev555 2012-02-09 08:57:58

回答

7

你可以做一个简单的DOM解析和搜索<div> S和<p>小号含有更多的文字(文字!不是HTML代码!)。但是,无论您选择哪种智能方法来确定内容的位置,您应该从DOM解析开始,让我们来看看解析PHP库的DOM。

无论如何,你可以从这个开始:

http://w-shadow.com/blog/2008/01/25/extracting-the-main-content-from-a-webpage/

看起来相当不错,如果你想写你自己的东西给人的技术说明。

+0

这是一个可怕的解决方案。但可能是最好的。 – Jivings 2012-02-09 09:28:10

+1

@Jivings为什么可怕? – 2012-02-09 09:30:58

+0

因为DOM解析让我不寒而栗。但是你的链接似乎很有趣。 – Jivings 2012-02-09 09:32:58

0

大多数博客引擎都会给该div一个“内容”标识。

  • 在javascript中,你会只是做$( '#内容')
  • 在PHP中,你会做的DOMDocument ::的getElementById( '内容')。