Python爬蟲框架NewSpaper使用詳解
寫在前面
原計劃繼續(xù)寫一篇Portia的使用博客,結(jié)果在編寫代碼途中發(fā)現(xiàn),在windows7的DockerToolbox里面使用Portia錯誤實在是太多了,建議大家還是在Linux虛擬機或者直接在服務(wù)器上去運行。否則太耗費精力了~
今天我們轉(zhuǎn)移一下,介紹一款newspaper
newspaper
github地址 : github.com/codelucas/n…
看名字應(yīng)該能猜到和報紙/新聞有關(guān)系,這個庫主要用于文章爬取和整理,國內(nèi)的一個大佬做的,當然他的github上也貼上了其他開發(fā)者的推薦
例如requests庫的作者在推特上的推薦語
"Newspaper is an amazing python library for extracting & curating articles."
The Changelog專門寫了一篇評價文章,也可以圍觀一下
Newspaper delivers Instapaper style article extraction.
對于這樣一款走出國門的爬蟲庫,我們還是很有必要介紹一下的
安裝非常簡單
pip install newspaper3k -i pypi.tuna.tsinghua.edu.cn/simple
官方文檔可以查閱:newspaper.readthedocs.io/en/latest/u…
newspaper框架的使用
對于這款框架,使用起來難度是非常低的。簡單對照這一頁文檔即可應(yīng)用起來
例如:單條新聞內(nèi)容獲取
第一種應(yīng)用方式,直接獲取網(wǎng)頁內(nèi)容
from newspaper import Article url = "https://36kr.com/p/857678806293124" article = Article(url) # 創(chuàng)建文章對象 article.download() # 加載網(wǎng)頁 article.parse() # 解析網(wǎng)頁 print(article.html) # 打印html文檔
當然還有一些其他屬性,不過該框架都是基于關(guān)鍵字識別的,有一些BUG存在,有時識別不準
# print(article.html) # 打印html文檔 print(article.text) # 新聞?wù)? print("-"*100) print(article.title) # 新聞標題 print("-"*100) print(article.authors) # 新聞作者 print("-"*100) print(article.summary) # 新聞?wù)? print(article.keywords) # 新聞關(guān)鍵詞 # print(article.top_image) # 本文的top_image的URL # print(article.images) # 本文中的所有圖像url
newspaper文章緩存
默認情況下,newspaper緩存所有待提取的文章,如果文章被爬取過之后就會清除掉它。此功能用于防止重復(fù)的文章和提高提取速度。可以使用memoize_articles
參數(shù)選擇是否緩存。
但當我使用下面這個辦法進行提取的時候,神奇的BUG出現(xiàn)了,怎么也得不到我想要的文章了。唉~看來框架完善之路還是要繼續(xù)啊
import newspaper url = "https://news.sina.com.cn/c/2020-08-29/doc-iivhvpwy3651884.shtml" # article = Article(url) # 創(chuàng)建文章對象 # article.download() # 加載網(wǎng)頁 # article.parse() # 解析網(wǎng)頁 news = newspaper.build(url, language='zh', memoize_articles=False) article = news.articles[0] article.download() article.parse() print('title=',article.title)
其他功能
在應(yīng)用的過程中發(fā)現(xiàn)確實解析存在很大的問題,不過整體的框架設(shè)計思路還是非常棒的。有點高開低走 ,看到github上的評語其實對newspaper是非常有期待的,使用之后,我建議還是使用requests然后加上bs4自己搞搞更加合理。
除了上面簡單介紹到的功能,它還有一些擴展,例如下面這些
requests
和newspaper
合體解析網(wǎng)頁正文,也就是用requests爬取,newspaper充當解析器- 可以調(diào)用
Google Trends
信息 - 支持多任務(wù)爬取
- 支持NPL自然語言處理
- 甚至官方文檔還給了一個
Easter Eggs
復(fù)活節(jié)彩蛋~,可以拉倒文檔最下面查閱
唉~總之一言難盡啊
寫在后面
本打算 Python 玩轉(zhuǎn)NewSpaper爬蟲框架,看來是玩不轉(zhuǎn)了,擴展一下知識點也是極好的,當然github下載源碼之后,好好研究一下大佬的編碼規(guī)范,能學到很多。
以上就是Python爬蟲框架NewSpaper使用詳解的詳細內(nèi)容,更多關(guān)于Python爬蟲框架NewSpaper的資料請關(guān)注腳本之家其它相關(guān)文章!
- Python7個爬蟲小案例詳解(附源碼)中篇
- Python7個爬蟲小案例詳解(附源碼)上篇
- Python爬蟲程序中使用生產(chǎn)者與消費者模式時進程過早退出的問題
- Python爬蟲庫urllib的使用教程詳解
- Python利用yield?form實現(xiàn)異步協(xié)程爬蟲
- python爬蟲之requests庫使用代理方式
- python?基于aiohttp的異步爬蟲實戰(zhàn)詳解
- 通過python爬蟲mechanize庫爬取本機ip地址的方法
- Python爬蟲學習之requests的使用教程
- python爬蟲beautiful?soup的使用方式
- Python爬蟲之超級鷹驗證碼應(yīng)用
- Python爬蟲Requests庫的使用詳情
- python爬蟲模擬登錄之圖片驗證碼實現(xiàn)詳解
- Python爬蟲eval實現(xiàn)看漫畫漫畫柜mhgui實戰(zhàn)分析
- python爬蟲實戰(zhàn)項目之爬取pixiv圖片
- 使用python爬蟲實現(xiàn)子域名探測問題
- python爬蟲之代理ip正確使用方法實例
- Python7個爬蟲小案例詳解(附源碼)下篇
相關(guān)文章
Python 列表中的修改、添加和刪除元素的實現(xiàn)
這篇文章主要介紹了Python 列表中的修改、添加和刪除元素的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-06-06python中CURL 和python requests的相互轉(zhuǎn)換實現(xiàn)
本文主要介紹了python中CURL 和python requests的相互轉(zhuǎn)換實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-03-03Python實現(xiàn)打印詳細報錯日志,獲取報錯信息位置行數(shù)
這篇文章主要介紹了Python實現(xiàn)打印詳細報錯日志,獲取報錯信息位置行數(shù)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08使用Python實現(xiàn)租車計費系統(tǒng)的兩種方法
本文通過兩種方法給大家分享了使用Python實現(xiàn)租車計費系統(tǒng),非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-09-09python3調(diào)用ansible?api使用實例例說明
這篇文章主要為大家介紹了python3?調(diào)用ansible?api使用說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07