(1)網(wǎng)頁去噪
? ? ? ? ?網(wǎng)頁去噪需要去掉與網(wǎng)頁內(nèi)表達(dá)內(nèi)容不相關(guān)的文字,如廣告,評論等等。現(xiàn)在對于博客、新聞?lì)惖木W(wǎng)頁去噪已經(jīng)有很多的應(yīng)用,比如常用的印象筆記、有道筆記就用到了相關(guān)的技術(shù)。
? ? ? ? ?因?yàn)轫?xiàng)目的需要,也需要對網(wǎng)頁進(jìn)行去噪,留下有用的內(nèi)容。所以在網(wǎng)上找了相關(guān)的網(wǎng)頁去噪的開源項(xiàng)目。
(2)參考鏈接
? ? ? ? 主要參考的鏈接是這篇 “網(wǎng)頁正文抽取工具” , 應(yīng)該是抓取的新浪weibo上的相關(guān)的微博內(nèi)容。里面介紹了給出了項(xiàng)目的地址,有Java、C++、C#、Perl、Python的。
? ?因?yàn)轫?xiàng)目是Python寫的,所以初步選定使用 Decruft ,? Python readability ?, ? Python boilerpipe ?, Pyhon Goose 這幾種。
(3)實(shí)踐操作
? ? ? ? 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標(biāo)簽的文本。還需要進(jìn)行clean html操作。如果需要得到純文本內(nèi)容,還需要做其他工作
?
? ? ? “ 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上的,發(fā)現(xiàn)他只有0.1版本,而且是10年9月的,但是Python-readability一直在更新的,其核心的readability.py是7個(gè)月前更新的,所以不能保證decruft的性能要比現(xiàn)在的readability好,我沒有下載decruft進(jìn)行試驗(yàn),有興趣可以自己試驗(yàn)一下。
? ? ? ? ?Python-boilerpipe:是Boilerpipe的Python版本的Warpper,在使用的時(shí)候需要依賴jpype, chardet. ?在構(gòu)造Extractor的時(shí)候可以定制自己需要的抽取器,具體有:
DefaultExtractor ArticleExtractor ArticleSentencesExtractor KeepEverythingExtractor KeepEverythingWithMinKWordsExtractor LargestContentExtractor NumWordsRulesExtractor CanolaExtractor
? ? ? ?這個(gè)項(xiàng)目可以自己選擇抽取出的正文內(nèi)容格式:可以是純文本的,也可以是攜帶HTML的。
?
? ? ? ?Python-Goose:
? ? ? ? 經(jīng)過試驗(yàn),決定使用Goose,可以在這個(gè)網(wǎng)址上測試? http://jimplush.com/blog/goose? Goose的抽取效果。Goose還能夠獲得Meta description。
? ? ? ? Goose最后可以獲得抽取后的純文本。
? ? ? ??
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
