在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Newspaper:能下載38種語(yǔ)言新聞文章的 Python 模塊

科技綠洲 ? 來(lái)源:Python實(shí)用寶典 ? 作者:Python實(shí)用寶典 ? 2023-10-31 11:09 ? 次閱讀

Newspaper 是一個(gè)很棒的python庫(kù),用于提取和整理文章。

它有以下的優(yōu)點(diǎn):

  • 多線程文章下載框架
  • 識(shí)別新聞網(wǎng)址
  • 從html提取文本
  • 從html提取頂部圖像
  • 從html提取所有圖像
  • 從文本中提取關(guān)鍵字
  • 自動(dòng)提取摘要
  • 自動(dòng)提取作者
  • 自動(dòng)提取 Google 趨勢(shì)詞

下面是這個(gè)開(kāi)源模塊的安裝和使用教程

1.準(zhǔn)備

開(kāi)始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒(méi)有,可以訪問(wèn)這篇文章:超詳細(xì)Python安裝指南 進(jìn)行安裝。

如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.

此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點(diǎn):Python 編程的最好搭檔—VSCode 詳細(xì)指南

請(qǐng)選擇以下任一種方式輸入命令安裝依賴

  1. Windows 環(huán)境 打開(kāi) Cmd (開(kāi)始-運(yùn)行-CMD)。
  2. MacOS 環(huán)境 打開(kāi) Terminal (command+空格輸入Terminal)。
  3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip3 install newspaper3k

遇到任何安裝問(wèn)題,可以在本文下方留言框或Python實(shí)用寶典公眾號(hào)上留言,也可以訪問(wèn)項(xiàng)目官網(wǎng)查看相關(guān)安裝指南:
https://github.com/codelucas/newspaper

2.基本使用

Newspaper 中是以文章為對(duì)象實(shí)現(xiàn)各種操作的,比如下載指定新聞的HTML:

from newspaper import Article

url = 'http://fox13now.com/2013/12/30/new-year-new-laws-obamacare-pot-guns-and-drones/'

# 根據(jù)url生成Article對(duì)象
article = Article(url)

# 下載文章
article.download()

# 文章的HTML
article.html
#'< !DOCTYPE HTML >< html itemscope itemtype="http://...'

通過(guò)解析新聞和文章,你能獲得此文章的作者、發(fā)布時(shí)間、摘要、頂部圖像、所有圖像、多媒體等:

"""
Python 實(shí)用寶典
《Newspaper — 一個(gè)能下載38種語(yǔ)言新聞文章的 Python 模塊》
"""

# 解析文章
article.parse()

# 獲取文章作者
article.authors
# ['Leigh Ann Caldwell', 'John Honway']

# 獲取文章發(fā)布日期
article.publish_date
# datetime.datetime(2013, 12, 30, 0, 0)

# 獲取文章文本
article.text
# 'Washington (CNN) -- Not everyone subscribes to a New Year's resolution...'

# 獲取頂部圖像
article.top_image
# 'http://someCDN.com/blah/blah/blah/file.png'

# 獲取文章多媒體資源
article.movies
# ['http://youtube.com/path/to/link.com', ...]

除此之外,該模塊還附帶了 NLP 功能,你能用它來(lái)識(shí)別文章關(guān)鍵字并自動(dòng)提取摘要:

# 使用 NLP 解析
article.nlp()

# 獲取文章關(guān)鍵詞
article.keywords
# ['New Years', 'resolution', ...]

# 獲取文章摘要
article.summary
# 'The study shows that 93% of people ...'

你看,這個(gè)工具不無(wú)敵嗎?它還能提取某個(gè)網(wǎng)站的所有新聞文章,比如我想提取CNN的新聞文章:

import newspaper

cnn_paper = newspaper.build('http://cnn.com')

for article in cnn_paper.articles:
    print(article.url)
# http://www.cnn.com/2013/11/27/justice/tucson-arizona-captive-girls/
# http://www.cnn.com/2013/12/11/us/texas-teen-dwi-wreck/index.html

在此之上,你還能拿到CNN的其他新聞門戶分類:

for category in cnn_paper.category_urls():
    print(category)

# http://lifestyle.cnn.com
# http://cnn.com/world
# http://tech.cnn.com
# ...

許多中文媒體的文章下載也是支持的:

import newspaper
sina_paper = newspaper.build('http://www.sina.com.cn/', language='zh')

for category in sina_paper.category_urls():
    print(category)
# http://health.sina.com.cn
# http://eladies.sina.com.cn
# http://english.sina.com
# ...

article = sina_paper.articles[0]
article.download()
article.parse()

print(article.text)
# 新浪武漢汽車綜合 隨著汽車市場(chǎng)的日趨成熟,
# 傳統(tǒng)的"集全家之力抱得愛(ài)車歸"的全額購(gòu)車模式已然過(guò)時(shí),
# 另一種輕松的新興 車模式――金融購(gòu)車正逐步成為時(shí)下消費(fèi)者購(gòu)
# 買愛(ài)車最為時(shí)尚的消費(fèi)理念,他們認(rèn)為,這種新穎的購(gòu)車
# 模式既能在短期內(nèi)
# ...

print(article.title)
# 兩年雙免0手續(xù)0利率 科魯茲掀背金融輕松購(gòu)_武漢車市_武漢汽
# 車網(wǎng)_新浪汽車_新浪網(wǎng)

從上面的例子你可以看到,你可以非常容易地提取中文文章,僅需要在Article的language參數(shù)中指定 'zh' :

"""
Python 實(shí)用寶典
《Newspaper — 一個(gè)能下載38種語(yǔ)言新聞文章的 Python 模塊》
"""

from newspaper import Article
url = 'http://www.bbc.co.uk/zhongwen/simp/chinese_news/2012/12/121210_hongkong_politics.shtml'
a = Article(url, language='zh') # Chinese
a.download()
a.parse()
print(a.text[:150])

# 香港行政長(zhǎng)官梁振英在各方壓力下就其大宅的違章建
# 筑(僭建)問(wèn)題到立法會(huì)接受質(zhì)詢,并向香港民眾道歉。
# 梁振英在星期二(12月10日)的答問(wèn)大會(huì)開(kāi)始之際
# 在其演說(shuō)中道歉,但強(qiáng)調(diào)他在違章建筑問(wèn)題上沒(méi)有隱瞞的
# 意圖和動(dòng)機(jī)。一些親北京陣營(yíng)議員歡迎梁振英道歉,
# 且認(rèn)為應(yīng)能獲得香港民眾接受,但這些議員也質(zhì)問(wèn)梁振英有

print(a.title)
# 港特首梁振英就住宅違建事件道歉

這個(gè)工具所支持的所有語(yǔ)言如下:

上滑查看更多語(yǔ)言

code            full namear              Arabicbe              Belarusianbg              Bulgarianda              Danishde              Germanel              Greeken              Englishes              Spanishet              Estonianfa              Persianfi              Finnishfr              Frenchhe              Hebrewhi              Hindihr              Croatianhu              Hungarianid              Indonesianit              Italianja              Japaneseko              Koreanlt              Lithuanianmk              Macedoniannb              Norwegian (Bokm?l)nl              Dutchno              Norwegianpl              Polishpt              Portuguesero              Romanianru              Russiansl              Sloveniansr              Serbiansv              Swedishsw              Swahilith              Thaitr              Turkishuk              Ukrainianvi              Vietnamesezh              Chinese

你可以按需選擇自己所需要的語(yǔ)言。

3.高級(jí)玩法

前面我們說(shuō)過(guò),Newspaper 是一個(gè)可以并發(fā)下載文章的框架,它是這么玩的:

"""
Python 實(shí)用寶典
《Newspaper — 一個(gè)能下載38種語(yǔ)言新聞文章的 Python 模塊》
"""

import newspaper
from newspaper import news_pool

slate_paper = newspaper.build('http://slate.com')
tc_paper = newspaper.build('http://techcrunch.com')
espn_paper = newspaper.build('http://espn.com')

papers = [slate_paper, tc_paper, espn_paper]
news_pool.set(papers, threads_per_source=2) # (3*2) = 總計(jì) 6 線程
news_pool.join()

# 到這一步,你可以假定三個(gè)新聞源的文章都下載完成了
print(slate_paper.articles[10].html)
# u'< html > ...'

可以看到,作者通過(guò) build 三個(gè)新聞源,拿到一個(gè)總的新聞源池進(jìn)行并發(fā)請(qǐng)求。

其中,.set 函數(shù)起到了調(diào)度作用,它能通過(guò)指定 threads_per_source 的值設(shè)定每個(gè)新聞源的線程。最后再 join 起來(lái)開(kāi)始并發(fā)請(qǐng)求新聞源并開(kāi)始下載新聞。

此外,Newspaper 還有一些參數(shù)可供你配置,比如:

上滑查看更多參數(shù)

keep_article_html,默認(rèn)為False,“如果要保留正文文本的html,則設(shè)置為True”http_success_only,默認(rèn)為True,“設(shè)置為False也可以捕獲非2XX響應(yīng)”MIN_WORD_COUNT,默認(rèn)為300,“文章中的單詞數(shù)量”MIN_SENT_COUNT,默認(rèn)為7,“句子數(shù)”MAX_TITLE,默認(rèn)值為200,“文章標(biāo)題中的字符數(shù)”MAX_TEXT,默認(rèn)值為100000,“文章文字中的字符數(shù)”MAX_KEYWORDS,默認(rèn)值為35,“文章中的關(guān)鍵詞數(shù)”MAX_AUTHORS,默認(rèn)值為10,“文章中的作者姓名數(shù)量”MAX_SUMMARY,默認(rèn)值為5000,“摘要的字符數(shù)”MAX_SUMMARY_SENT,默認(rèn)為5,“摘要中的句子數(shù)”memoize_articles,默認(rèn)為True,“運(yùn)行后緩存并保存運(yùn)行后的文章”fetch_images,默認(rèn)為True,“如果不需要獲取圖片,請(qǐng)將其設(shè)置為false”request_timeout,默認(rèn)為7,請(qǐng)求7秒后未響應(yīng)完成則超時(shí)number_threads,默認(rèn)值為10,多線程數(shù)量

如果你需要使用以上參數(shù),可以設(shè)一個(gè)Config對(duì)象,傳入指定的 Article 對(duì)象或build 方法中,如:

import newspaper
from newspaper import Config, Article, Source

config = Config()
config.memoize_articles = False

cbs_paper = newspaper.build('http://cbs.com', config)

非常簡(jiǎn)單易懂,而且設(shè)置起來(lái)的維護(hù)成本不算很高。

在做一些輿情分析或者NLP算法訓(xùn)練/測(cè)試的時(shí)候,這個(gè)模塊簡(jiǎn)直就是你的福音。你可以很方便地從網(wǎng)站上提取任意語(yǔ)言的文本數(shù)據(jù),拿來(lái)測(cè)試或者訓(xùn)練都可以。

對(duì)于那些想要搞輿情分析,尋找市場(chǎng)熱點(diǎn)的同學(xué)而言,這個(gè)模塊也是非常方便,你能搭配郵件發(fā)布工具,并使用Newspaper的關(guān)鍵詞提取功能,迅速制作一個(gè)關(guān)鍵詞熱點(diǎn)實(shí)時(shí)告警的工具。

總而言之,這是一個(gè)非常值得了解并學(xué)習(xí)使用的第三方模塊,強(qiáng)烈推薦。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 模塊
    +關(guān)注

    關(guān)注

    7

    文章

    2714

    瀏覽量

    47508
  • 多線程
    +關(guān)注

    關(guān)注

    0

    文章

    278

    瀏覽量

    19981
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4797

    瀏覽量

    84727
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Python 語(yǔ)言的發(fā)展簡(jiǎn)史

    假期,Guido開(kāi)始寫Python語(yǔ)言的編譯器。Python這個(gè)名字,來(lái)自Guido所摯愛(ài)的電視劇Monty Python's Flying Circus。他希望這個(gè)新的叫做
    發(fā)表于 09-28 10:14

    python自然語(yǔ)言

    最近,python自然語(yǔ)言是越來(lái)越火了,那么什么是自然語(yǔ)言。自然語(yǔ)言(Natural Language )廣納了眾多技術(shù),對(duì)自然或人類語(yǔ)言進(jìn)
    發(fā)表于 05-02 13:50

    Python與其他編程語(yǔ)言有何不同?

    ,那是個(gè)壞主意  Python旨在成為一易于閱讀的語(yǔ)言。格式正確的Python代碼干凈整潔。  它通常使用英語(yǔ)關(guān)鍵字,而其他編程語(yǔ)言則使用
    發(fā)表于 09-16 15:54

    Python語(yǔ)言在人工智能中的功能及優(yōu)勢(shì)

    Python語(yǔ)言是一面向?qū)ο蟆⒅弊g式計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言Python語(yǔ)法簡(jiǎn)捷、清晰和易讀。Python
    發(fā)表于 05-22 14:29 ?1.2w次閱讀

    學(xué)Python能做什么Python語(yǔ)言到底能做哪些事

    Python是一門腳本語(yǔ)言,因?yàn)槟軐⑵渌鞣N編程語(yǔ)言寫的模塊粘接在一起,也被稱作膠水語(yǔ)言。強(qiáng)大的包容性、強(qiáng)悍的功能和應(yīng)用的廣泛性使其受到越來(lái)
    發(fā)表于 10-25 16:56 ?6次下載

    Python語(yǔ)言基礎(chǔ)的復(fù)習(xí)試題免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是Python語(yǔ)言基礎(chǔ)的復(fù)習(xí)試題免費(fèi)下載
    發(fā)表于 09-18 15:58 ?14次下載
    <b class='flag-5'>Python</b>的<b class='flag-5'>語(yǔ)言</b>基礎(chǔ)的復(fù)習(xí)試題免費(fèi)<b class='flag-5'>下載</b>

    Python是一什么語(yǔ)言,它可以用來(lái)做些什么

    的Basic語(yǔ)言,適合網(wǎng)頁(yè)編程的Java語(yǔ)言等,Python是他們其中的一。 首先,我們普及一下編程語(yǔ)言的基礎(chǔ)知識(shí)。用任何編程
    發(fā)表于 04-12 10:56 ?1289次閱讀

    介紹Python模塊的基礎(chǔ)知識(shí)

    Python是一高級(jí)編程語(yǔ)言,擁有豐富的庫(kù)和模塊模塊Python中一個(gè)獨(dú)立的、可重用的代碼
    的頭像 發(fā)表于 04-21 16:48 ?1002次閱讀

    Newspaper開(kāi)源模塊的安裝和使用教程

    Newspaper 是一個(gè)很棒的python庫(kù),用于提取和整理文章。 下面是這個(gè)開(kāi)源模塊的安裝和使用教程。 1.準(zhǔn)備 開(kāi)始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒(méi)
    的頭像 發(fā)表于 10-16 11:22 ?662次閱讀

    Newspaper安裝和使用教程

    Newspaper 是一個(gè)很棒的python庫(kù),用于提取和整理文章。 它有以下的優(yōu)點(diǎn): 多線程文章下載框架 識(shí)別新聞網(wǎng)址 從html提取文本 從html提取頂部圖像 從html提取所有圖像 從文本
    的頭像 發(fā)表于 10-17 10:36 ?817次閱讀

    Newspaper:用于提取和整理文章的python庫(kù)

    Newspaper 是一個(gè)很棒的python庫(kù),用于提取和整理文章。 它有以下的優(yōu)點(diǎn): 多線程文章下載框架 識(shí)別新聞網(wǎng)址 從html提取文本 從html提取頂部圖像 從html提取所有圖像 從文本
    的頭像 發(fā)表于 10-30 14:24 ?765次閱讀

    Python編程語(yǔ)言屬于什么語(yǔ)言

    Python編程語(yǔ)言屬于高級(jí)編程語(yǔ)言中的一。它是一通用、面向?qū)ο蟆⒔忉屝途幊?b class='flag-5'>語(yǔ)言
    的頭像 發(fā)表于 11-22 14:31 ?1519次閱讀

    python如何導(dǎo)入模塊

    Python是一強(qiáng)大的編程語(yǔ)言,它支持模塊化編程,使得開(kāi)發(fā)者可以將代碼分解為可重用且獨(dú)立的模塊模塊
    的頭像 發(fā)表于 11-22 14:46 ?962次閱讀

    python語(yǔ)言特點(diǎn)有哪些

    Python是一高級(jí)編程語(yǔ)言,由Guido van Rossum于1991年首次發(fā)布。它具有許多獨(dú)特的特點(diǎn),這些特點(diǎn)使得Python在軟件開(kāi)發(fā)領(lǐng)域變得非常流行。以下是關(guān)于
    的頭像 發(fā)表于 11-29 14:29 ?1169次閱讀

    Python語(yǔ)言基礎(chǔ)2

    電子發(fā)燒友網(wǎng)站提供《Python語(yǔ)言基礎(chǔ)2.rar》資料免費(fèi)下載
    發(fā)表于 07-17 17:23 ?1次下載
    主站蜘蛛池模板: 高清一级做a爱视频免费| 日日拍拍| 看5xxaaa免费毛片| 国产综合在线观看| 痴女在线播放免费视频| 久久夜色tv网站免费影院| 精品国产你懂的在线观看| 精品伊人久久香线蕉| 国产美女精品视频免费观看| www.淫.com| 天天精品在线| 91久久夜色精品国产网站| www性| 天天摸夜班摸天天碰| 欧美乱强性伦xxxxx| 午夜视频免费在线观看| 手机看高清特黄a大片| 国产美女视频爽爽爽| 国产成人啪精品午夜在线观看| 日本一区二区三区不卡在线看| 一级特黄毛片| 日日噜噜噜噜人人爽亚洲精品| 狼狼色丁香久久女婷婷综合| 欧美色视频日本片高清在线观看| 免费爱爱视频网站| 国产精品五月天| 天天综合天天色| 国产精品免费久久久久影院| 超级乱淫片67194免费看| 爱爱帝国亚洲一区二区三区| 四虎欧美| 国产亚洲人成a在线v网站| 亚洲插| 91啪免费网站在线观看| 欧美日本免费| 色综合狠狠操| 国模啪啪一区二区三区| 天天爱天天操天天射| 男人操女人免费网站| 亚洲人成www在线播放| 在线看你懂|