只获取网站的相关部分

时间:2012-02-09 08:49:16

标签: php javascript web screen-scraping

Evernote's Web Clipper pluginAnnouncify plugin如何仅获得相关文章/帖子/内容部分?以下是evernote插件的截图:

enter image description here

无论您访问哪个网站与其他布局都完全不同,这些网站始终能够为您提供文章/帖子/内容部分。

每个网站都有不同的布局,一些有侧边栏,有些没有,不同的标签,主要/文章/内容部分,有些使用HTML <article><section>其他人使用{{1} },有些使用<h1> > <p>,有些则根本不使用。因此,有不同的标签组合以及网站布局。

有人可以建议通过Javascript或PHP获取主要文章/帖子/内容的解决方案吗?

2 个答案:

答案 0 :(得分:7)

您可以执行简单的DOM解析并搜索包含更多文本的<div><p>文本!不是HTML代码!)。但是,无论您选择哪种智能方法来确定内容的位置,都应该从 DOM解析开始,所以让我们看一下DOM解析PHP库。

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

  

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

看起来很不错,如果你想写自己的东西,可以提供技术解释。

答案 1 :(得分:0)

大多数博客引擎都会将该div设为“内容”ID。

  • 在javascript中你只需要做$('#content')
  • 在php中你会做DOMDocument :: getElementById('content')。