網頁去噪,獲取網頁正文相關開源項目

jopen 10年前發布 | 45K 次閱讀 正文 HTML操作類庫

(1)網頁去噪

         網頁去噪需要去掉與網頁內表達內容不相關的文字,如廣告,評論等等。現在對于博客、新聞類的網頁去噪已經有很多的應用,比如常用的印象筆記、有道筆記就用到了相關的技術。

         因為項目的需要,也需要對網頁進行去噪,留下有用的內容。所以在網上找了相關的網頁去噪的開源項目。

 

(2)參考鏈接

        主要參考的鏈接是這篇“網頁正文抽取工具”, 應該是抓取的新浪weibo上的相關的微博內容。里面介紹了給出了項目的地址,有Java、C++、C#、Perl、Python的。

   因為項目是Python寫的,所以初步選定使用 Decruft , Python readability ,  Python boilerpipe ,Pyhon Goose這幾種。

 

(3)實踐操作

        Python readability的使用:

    from readability.readability import Document  
        import urllib  
        html = urllib.urlopen(url).read()  
        readable_article = Document(html).summary()  
        readable_title = Document(html).short_title()  
      最后抽取出來的readable_article是帶HTML標簽的文本。還需要進行clean html操作。如果需要得到純文本內容,還需要做其他工作

      “decruft is a fork of python-readability to make it faster. It also has some logic corrections and improvements along the way.”  (引自:http://www.minvolai.com/blog/decruft-arc90s-readability-in-python/)

        decruft是Python readability的fork版本,其主要提高了readability的速度。decruft的源碼是放在Goolge上的,發現他只有0.1版本,而且是10年9月的,但是Python-readability一直在更新的,其核心的readability.py是7個月前更新的,所以不能保證 decruft的性能要比現在的readability好,我沒有下載decruft進行試驗,有興趣可以自己試驗一下。

         Python-boilerpipe:是Boilerpipe的Python版本的Warpper,在使用的時候需要依賴jpype, chardet.  在構造Extractor的時候可以定制自己需要的抽取器,具體有:

 

    DefaultExtractor  
    ArticleExtractor  
    ArticleSentencesExtractor  
    KeepEverythingExtractor  
    KeepEverythingWithMinKWordsExtractor  
    LargestContentExtractor  
    NumWordsRulesExtractor  
    CanolaExtractor  

       這個項目可以自己選擇抽取出的正文內容格式:可以是純文本的,也可以是攜帶HTML的。

       Python-Goose:

        經過試驗,決定使用Goose,可以在這個網址上測試 http://jimplush.com/blog/goose Goose的抽取效果。Goose還能夠獲得Meta description。

        Goose最后可以獲得抽取后的純文本。

 來自:http://blog.csdn.net/cscmaker/article/details/8841198

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!