最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)提取文章摘要的方法

 更新時間:2015年04月21日 16:27:38   作者:RussellLuo  
這篇文章主要介紹了Python實現(xiàn)提取文章摘要的方法,實例分析了Python提取文章摘要的原理與實現(xiàn)技巧,需要的朋友可以參考下

本文實例講述了Python實現(xiàn)提取文章摘要的方法。分享給大家供大家參考。具體如下:

一、概述

在博客系統(tǒng)的文章列表中,為了更有效地呈現(xiàn)文章內容,從而讓讀者更有針對性地選擇閱讀,通常會同時提供文章的標題和摘要。

一篇文章的內容可以是純文本格式的,但在網(wǎng)絡盛行的當今,更多是HTML格式的。無論是哪種格式,摘要 一般都是文章 開頭部分 的內容,可以按照指定的 字數(shù) 來提取。

二、純文本摘要

純文本文檔 就是一個長字符串,很容易實現(xiàn)對它的摘要提取:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Get a summary of the TEXT-format document"""
def get_summary(text, count):
  u"""Get the first `count` characters from `text`
    >>> text = u'Welcome 這是一篇關于Python的文章'
    >>> get_summary(text, 12) == u'Welcome 這是一篇'
    True
  """
  assert(isinstance(text, unicode))
  return text[0:count]
if __name__ == '__main__':
  import doctest
  doctest.testmod()

三、HTML摘要

HTML文檔 中包含大量標記符(如<h1>、<p>、<a>等等),這些字符都是標記指令,并且通常是成對出現(xiàn)的,簡單的文本截取會破壞HTML的文檔結構,進而導致摘要在瀏覽器中顯示不當。

在遵循HTML文檔結構的同時,又要對內容進行截取,就需要解析HTML文檔。在Python中,可以借助標準庫 HTMLParser 來完成。

一個最簡單的摘要提取功能,是忽略HTML標記符而只提取標記內部的原生文本。以下就是類似該功能的Python實現(xiàn):

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Get a raw summary of the HTML-format document"""
from HTMLParser import HTMLParser
class SummaryHTMLParser(HTMLParser):
  """Parse HTML text to get a summary
    >>> text = u'<p>Hi guys:</p><p>This is a example using SummaryHTMLParser.</p>'
    >>> parser = SummaryHTMLParser(10)
    >>> parser.feed(text)
    >>> parser.get_summary(u'...')
    u'<p>Higuys:Thi...</p>'
  """
  def __init__(self, count):
    HTMLParser.__init__(self)
    self.count = count
    self.summary = u''
  def feed(self, data):
    """Only accept unicode `data`"""
    assert(isinstance(data, unicode))
    HTMLParser.feed(self, data)
  def handle_data(self, data):
    more = self.count - len(self.summary)
    if more > 0:
      # Remove possible whitespaces in `data`
      data_without_whitespace = u''.join(data.split())
      self.summary += data_without_whitespace[0:more]
  def get_summary(self, suffix=u'', wrapper=u'p'):
    return u'<{0}>{1}{2}</{0}>'.format(wrapper, self.summary, suffix)
if __name__ == '__main__':
  import doctest
  doctest.testmod()

HTMLParser(或者 BeautifulSoup 等等)更適合完成復雜的HTML摘要提取功能,對于上述簡單的HTML摘要提取功能,其實有更簡潔的實現(xiàn)方案(相比 SummaryHTMLParser 而言):

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""Get a raw summary of the HTML-format document"""
import re
def get_summary(text, count, suffix=u'', wrapper=u'p'):
  """A simpler implementation (vs `SummaryHTMLParser`).
    >>> text = u'<p>Hi guys:</p><p>This is a example using SummaryHTMLParser.</p>'
    >>> get_summary(text, 10, u'...')
    u'<p>Higuys:Thi...</p>'
  """
  assert(isinstance(text, unicode))
  summary = re.sub(r'<.*?>', u'', text) # key difference: use regex
  summary = u''.join(summary.split())[0:count]
  return u'<{0}>{1}{2}</{0}>'.format(wrapper, summary, suffix)
if __name__ == '__main__':
  import doctest
  doctest.testmod()

希望本文所述對大家的Python程序設計有所幫助。

相關文章

  • pyqt彈出新對話框,以及關閉對話框獲取數(shù)據(jù)的實例

    pyqt彈出新對話框,以及關閉對話框獲取數(shù)據(jù)的實例

    今天小編就為大家分享一篇pyqt彈出新對話框,以及關閉對話框獲取數(shù)據(jù)的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Django使用echarts進行可視化展示的實踐

    Django使用echarts進行可視化展示的實踐

    可視化是將數(shù)據(jù)轉換成圖形或圖像在屏幕上顯示出來,本文主要介紹了Django使用echarts進行可視化展示的實踐,感興趣的可以了解一下
    2021-06-06
  • pygame實現(xiàn)成語填空游戲

    pygame實現(xiàn)成語填空游戲

    這篇文章主要介紹了pygame實現(xiàn)成語填空游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • Python判斷遠程服務器上Excel文件是否被人打開的方法

    Python判斷遠程服務器上Excel文件是否被人打開的方法

    這篇文章主要介紹了Python如何判斷遠程服務器上Excel文件是否被人打開,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 淺談Python實現(xiàn)Apriori算法介紹

    淺談Python實現(xiàn)Apriori算法介紹

    這篇文章主要介紹了淺談Python實現(xiàn)Apriori算法介紹,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • Python 實現(xiàn)在文件中的每一行添加一個逗號

    Python 實現(xiàn)在文件中的每一行添加一個逗號

    下面小編就為大家分享一篇Python 實現(xiàn)在文件中的每一行添加一個逗號,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 使用pytorch實現(xiàn)線性回歸

    使用pytorch實現(xiàn)線性回歸

    這篇文章主要為大家詳細介紹了使用pytorch實現(xiàn)線性回歸,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • Python?matplotlib.pyplot.subplots()用法詳解

    Python?matplotlib.pyplot.subplots()用法詳解

    這篇文章主要介紹了Python?matplotlib.pyplot.subplots()用法的相關資料,matplotlib.pyplot.subplots()用于創(chuàng)建子圖,可設置行數(shù)、列數(shù)、軸共享、額外關鍵字參數(shù)和布局選項,需要的朋友可以參考下
    2024-12-12
  • python登錄并爬取淘寶信息代碼示例

    python登錄并爬取淘寶信息代碼示例

    這篇文章主要介紹了python 登錄并爬取淘寶信息代碼示例,具有一定借鑒價值,需要的朋友可以了解下。
    2017-12-12
  • pyqt6實現(xiàn)關閉窗口前彈出確認框的示例代碼

    pyqt6實現(xiàn)關閉窗口前彈出確認框的示例代碼

    本文主要介紹了pyqt6實現(xiàn)關閉窗口前彈出確認框的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-02-02

最新評論

特克斯县| 利辛县| 黄浦区| 大城县| 平南县| 通化市| 象山县| 册亨县| 葵青区| 顺义区| 巨野县| 余干县| 荣昌县| 兴海县| 玛纳斯县| 七台河市| 永修县| 孟州市| 余干县| 洪洞县| 江城| 肃南| 福泉市| 武清区| 色达县| 怀化市| 宁安市| 凤冈县| 毕节市| 连云港市| 台州市| 五大连池市| 米林县| 宜君县| 岳西县| 乌鲁木齐县| 鹤山市| 历史| 江门市| 体育| 漳浦县|