1. 程式人生 > >python中readability、Document和html2text的使用

python中readability、Document和html2text的使用

今天在處理html資料的時候發現了python裡面比較好玩的幾個庫,先存起來之後有時間慢慢再去學習和使用,覺得是一件蠻有意思的事情。今天想學習使用的是html2text模組和readability模組。其中,第一個模組是負責對html資料進行處理的,返回html中的文字資訊;第二個模組是負責html資料中指定資訊如:文章標題、作者等資訊的提取。

       之前在處理爬取的html資料的時候大多數是自己編寫正則表示式或者是xpath規則集來完成指定資料欄位資訊的提取,相對來說比較靈活,但是規則集的編寫較為耗時,且遇上覆雜資料的時候就難以應付了。如果有現成的封裝好的模組可以直接完成某一項工作的話還是很不錯的,這兩個庫可以說還是比較不錯,今天只是簡單拿來使用一下,之後再做到類似的專案的時候可以將一部分的工作交由固定模組來完成。

 

#!usr/bin/env python
# encoding:utf-8
 
'''
__Author__:沂水寒城
功能: html2text 模組和 readability 模組使用
'''
 
import sys
import urllib
import requests
import html2text
from readability import Document
 
 
reload(sys)
sys.setdefaultencoding('utf-8')
 
 
 
def test_func():
    '''
    官網例項,清洗html
    '''
    print html2text.html2text("<p>Hello, world.</p>")
    h=html2text.HTML2Text()
    h.ignore_links=True
    print h.handle("<p>Hello, <a href='http://earth.google.com/'>world</a>!")
 
 
def test_func2(url):
    '''
    獲取指定URL的html,對html進行處理
    '''
    html=urllib.urlopen(url).read()
    h=html2text.HTML2Text()
    h.ignore_links=True
    print h.handle(html)
 
 
def test_func3(url):
    '''
    抽取指定URL中的標題等資料
    '''
    response=requests.get(url)
    doc=Document(response.text)
    print doc.title()
    html=urllib.urlopen(url).read()
    #該方式抽取出來的readable_article是帶HTML標籤的文字
    readable_article=Document(html).summary() 
    readable_title=Document(html).short_title()
    print 'readable_article: ',readable_article
    print 'readable_title: ',readable_title
 
 
 
if __name__=='__main__':
    url='https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_2588586383061242738%22%7D&n_type=0&p_from=1'
    test_func()
    print '-|'*50
    test_func2(url)
    print '-|'*50
    test_func3(url)
--------------------- 
作者:Together_CZ 
來源:CSDN 
原文:https://blog.csdn.net/Together_CZ/article/details/82389466 
版權宣告:本文為博主原創文章,轉載請附上博文連結!

 以下是執行結果


Hello, world.
 
 
Hello, world!
 
 
-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|
![到百度首頁](https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superlanding/img/logo_top.png)
 
百度首頁
 
登入masterretsam __
 
個人中心帳號設定意見反饋退出
 
 __
 
## 巴西國博大火 “就像是一場噩夢”
 
新浪滾動09-0410:07
 
原標題:巴西國博大火 “就像是一場噩夢”
 
來源:央視新聞客戶端
 
3號的清晨對於剛剛從睡夢中醒過來的巴西人來說“異常沉重”,因為就在2號晚,有著兩百年曆史的巴西國家博物館著起大火,館內的超過2000萬件藏品恐怕已經盡數被燒燬。
 
![](https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=3920112549,1657221130&fm=173&app=25&f=JPG?w=555&h=384&s=EC1605D3D3521FC444DD942003006051)
 
巴西曆史學家 雷吉娜·丹塔斯:這就像一場噩夢,我多麼希望這真的只是一場夢,我可以從夢中醒來(看到博物館還在)。
 
兩千多萬件藏品恐俱毀 正全力挽救
 
3號白天,大火已經基本被撲滅。當地消防部門說,他們將請博物館的工作人員參與滅火及善後工作,及時清點藏品損毀情況,看看還有多少藏品可以“挽救”。
 
消防員 羅伯託:在滅火後續工作中,我們計劃讓博物館工作人員加入進來,雖然這樣一來滅火工作會慢一些,但我們可以儘量挽回一些有價值的藏品,比如碎片什麼的。
 
![](https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=1044145344,417326984&fm=173&app=25&f=JPG?w=557&h=376&s=78B24CDB5A6A944B5294A92903008052)
 
巴西國家博物館隕石展館負責人
瑪麗亞:他們(消防員)邀請我到現場,因為我能辨認出(有修復價值的藏品),我知道這些藏品在什麼位置,我會盡力找到它們(藏品),把這些珍寶從灰燼中挖出來。
 
火因待查 消防設施缺水耽誤滅火
 
目前,起火原因還在調查中。巴西文化部長塞爾吉奧·萊唐對媒體說,火災可能是因電路短路或人們放飛的“天燈”引起的。
 
![](https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=3622914777,2277118710&fm=173&app=25&f=JPG?w=559&h=386&s=9FB675840802745D48040D1A0300D0C2)
 
而不論原因如何,為什麼大火會不受控制地迅速蔓延、短時間內“吞噬”掉整座博物館呢?據報道,博物館滅火設施缺水是導致消防隊耽誤滅火最佳時機的原因。
 
館長呼籲重建 “不要失去歷史”
 
近年來,巴西經濟狀況不佳,里約州經濟更是尤為困難。
 
![](https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=3677156176,2992792008&fm=173&app=25&f=JPG?w=560&h=387&s=3828FE148A407F5DC8AFC9620300F07B)
 
據巴西媒體報道,博物館員工過去就常抱怨政府削減經費、博物館建築維護不足等問題。據博物館副館長說,他們長期面臨經費不足的困境,多年前就向不同層級政府求援過,但卻很少得到積極迴應。
 
![](https://ss2.baidu.com/6ONYsjip0QIZ8tyhnq/it/u=4237421123,4025531564&fm=173&app=25&f=JPG?w=555&h=380&s=B2EA69A04A1025D4588014B203001082)
 
巴西國家博物館館長 亞歷山大·克爾納:哭也於事無補,所有人,特別是聯邦政府,必須全力以赴重建博物館。我們已經失去了部分藏品,不要讓巴西人就此失去歷史。
 
檢視原文 >>
 
產品建議及投訴請聯絡:
[email protected]
## 相關搜尋 * 巴西土著人 * 巴西人是什麼人種 * 巴西有幾個首都 ## 相關文章 * ![](https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=1805707812,3403376447&fm=173&app=25&f=JPEG?w=218&h=146&s=FE141CC64731098C2E82A53203002019) ### 巴西國博大火背後:一場並不意外的悲劇? 環球網09-04 * ![](https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=3158325315,3340295532&fm=173&app=25&f=JPEG?w=218&h=146&s=25429B42C512B5D45CCD501A0300C0C2) ### 巴西國博向民眾徵集藏品照片 希望儲存國家博物館的記憶 封面新聞09-04 * ![](https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=3751404795,2017856209&fm=173&app=25&f=JPEG?w=218&h=146&s=B61C1CC79E1322CC1537483B0300101A) ### 巴西國博大火毀滅千萬文物,令全世界為之心痛 | 新京報快評 新京報09-04 * ![](https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=1030059667,3886884205&fm=173&app=25&f=JPEG?w=218&h=146&s=779414C446F2ABC256307C050300F090) ### 巴西國家博物館失火,2000萬件館藏文物付之一炬! 避火訣09-04 * ![](https://ss2.baidu.com/6ONYsjip0QIZ8tyhnq/it/u=3540318962,1903945862&fm=173&app=25&f=JPEG?w=218&h=146&s=FE3A67CB0EA3BE550AE18002030010C3) ### 珍貴文物深陷火海,巴西博物館之悲為文物界敲響警鐘 上海觀察09-04 設為首頁(C) Baidu 使用百度前必讀 意見反饋 京ICP證030173號 ![](https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/copy_rignt_24.png) __京公網安備11000002000001號 返回頂部 -|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-| 巴西國博大火 “就像是一場噩夢” readable_article: <html><body><div><div class="article " id="article" data-islow-browser="0"><p class="article-title"><h2>巴西國博大火 “就像是一場噩夢”</h2></p><p class="article-source"><span class="source">新浪滾動</span><span class="date">09-04</span><span class="time">10:07</span></p><div class="article-content"><p>原標題:巴西國博大火 “就像是一場噩夢”</p><p>來源:央視新聞客戶端</p><p>3號的清晨對於剛剛從睡夢中醒過來的巴西人來說“異常沉重”,因為就在2號晚,有著兩百年曆史的巴西國家博物館著起大火,館內的超過2000萬件藏品恐怕已經盡數被燒燬。</p><p>巴西曆史學家 雷吉娜·丹塔斯:這就像一場噩夢,我多麼希望這真的只是一場夢,我可以從夢中醒來(看到博物館還在)。</p><p>兩千多萬件藏品恐俱毀 正全力挽救</p><p>3號白天,大火已經基本被撲滅。當地消防部門說,他們將請博物館的工作人員參與滅火及善後工作,及時清點藏品損毀情況,看看還有多少藏品可以“挽救”。</p><p>消防員 羅伯託:在滅火後續工作中,我們計劃讓博物館工作人員加入進來,雖然這樣一來滅火工作會慢一些,但我們可以儘量挽回一些有價值的藏品,比如碎片什麼的。</p><p>巴西國家博物館隕石展館負責人 瑪麗亞:他們(消防員)邀請我到現場,因為我能辨認出(有修復價值的藏品),我知道這些藏品在什麼位置,我會盡力找到它們(藏品),把這些珍寶從灰燼中挖出來。</p><p>火因待查 消防設施缺水耽誤滅火</p><p>目前,起火原因還在調查中。巴西文化部長塞爾吉奧·萊唐對媒體說,火災可能是因電路短路或人們放飛的“天燈”引起的。</p><p>而不論原因如何,為什麼大火會不受控制地迅速蔓延、短時間內“吞噬”掉整座博物館呢?據報道,博物館滅火設施缺水是導致消防隊耽誤滅火最佳時機的原因。</p><p>館長呼籲重建 “不要失去歷史”</p><p>近年來,巴西經濟狀況不佳,里約州經濟更是尤為困難。</p><p>據巴西媒體報道,博物館員工過去就常抱怨政府削減經費、博物館建築維護不足等問題。據博物館副館長說,他們長期面臨經費不足的困境,多年前就向不同層級政府求援過,但卻很少得到積極迴應。</p><p>巴西國家博物館館長 亞歷山大·克爾納:哭也於事無補,所有人,特別是聯邦政府,必須全力以赴重建博物館。我們已經失去了部分藏品,不要讓巴西人就此失去歷史。</p></div><div class="notice"><p>產品建議及投訴請聯絡:[email protected]</p></div><audio id="musicAudio" data-play-index=""><source/></audio></div></div></body></html> readable_title: 巴西國博大火 “就像是一場噩夢” [Finished in 1.7s --------------------- 作者:Together_CZ 來源:CSDN 原文:https://blog.csdn.net/Together_CZ/article/details/82389466 版權宣告:本文為博主原創文章,轉載請附上博文連結!