提取网页中新闻内容的途径

    精确提取网页中新闻内容是新闻资讯平台的基础,目前新闻资讯平台的内容大多数来源于对其它新闻网站内容的抓取、整理和分类,所以如何精确提取网页中的新闻就显得非常重要啦~


方法一:《基于行块分布函数的通用网页正文抽取》

                它的思想是,一个主题类网页(我们这里是新闻)详情页只有一个数据区域,只要提取出这个数据区域就行了;找到这个数据区域的方法是,对网页内容分块,一块是指从某一行开始至某一行结束的区域,举个例子,第n块由第n行、n+1行和n+2行组成,第n+1块由第n+1行、n+2行和n+3行组成,然后提取出每一块中的纯文本,其中纯文本最多的那一块一定包含在正文之中;找到了之中的某一块,就可以利用这部分内容来找到正文边界了,文中指出,主题类网页的正文部分纯文本很多,而其它部分则较少,可以从之前定位到那一个块的位置开始往前往后找,找到的纯文本数量骤降点,就是边界了;最终利用边界信息提取出正文。这个方法能够准确的提取出大部分新闻的正文,但在正文最后包含一些杂质信息。而且,该方法也真的只能提取出正文,难以提取出与正文相关的那些非常重要的信息,也就是新闻的标题、来源、时间和标题与正文之间的图片。

方法二:Readability算法

        它的主要思想是,通过给定网页构建一棵DOM树,对其中body节点子树中的每一个后代节点打分,获得得分满足要求的节点,这些节点包含读者想读的内容,然后把这些节点整理为一个网页返回。用该算法的Java实现处理上面的示例新闻,结果跟上一种方法差不多。不过,通过DOM树,可以容易用另外的方式获得新闻的时间和来源。新闻时间可以通过在标题和正文之间的内容上通过正则表达式匹配出来;来源则可以在标题和正文之间的内容上通过“来源”关键字找出,并把找到的来源存储起来,用于在这部分内容中没有“来源”关键字的时候去匹配来源;最终解决问题。如果它对任何新闻类网页都只是不能提取新闻的来源和时间的话,那它就已经能满足精确提取新闻内容的要求了,可是,它还有其它问题,比如,大部分情况下会丢失新闻标题和正文之间的图片等信息,有时在正文之后还会存在另外一些不需要的信息(二维码图片,版权信息等)。同样,核心问题在于信息丢失。

方法三:RoadRunner算法

        这个算法试图从一组由相同模板生成的网页中发现模板,然后用这个模版去解析由这个模板生成的其它网页。(目前不太好操作)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,638评论 25 708
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 12,993评论 2 59
  • 如果毫不费力,那就是浪费时间。 二、生活 14、读25本书并写读后感 15、形成良好的作息规律,早起早睡(在校期间...
    清风逐阅读 272评论 0 0
  • 遗忘时间 作者 萧莹 十七八岁的时候特别喜欢等人。青涩花季的年纪,不懂得何为爱情,却喜欢一个男孩子,偷偷的爱恋着,...
    梁_木阅读 367评论 0 1
  • "速成"一直以来都是包括我在内很多人学习技能的理想状态,想能迅速熟练达到高手的境界,省时省力,但结果往往是一致的,...
    阳光心屋阅读 255评论 0 0