Python乾貨項目:【新聞急先鋒】新聞API獲取谷歌頭條新聞

2020-12-15 騰訊網

新聞API是用於搜索和檢索來自整個Web的實時新聞文章,可以根據某些標準檢索新聞。

使用它,可以獲取任何新聞網站上運行的頂級新聞,也可以搜索特定主題(或關鍵字)的頂級新聞。

假設要搜索的主題(關鍵字)是「geeksabiek」,或者可能與某個特定的頻道有關。所有這些都可以完成,但是需要API密鑰才能開始。

以下是上述想法的實施情況:

# importing requests package

import requests

def NewsFromBBC():

# BBC news api

main_url = " https://newsapi.org/v1/articles?source=bbc-news&sortBy=top&apiKey=4dbc17e007ab436fb66416009dfb59a8"

# fetching data in json format

open_bbc_page = requests.get(main_url).json()

# getting all articles in a string article

article = open_bbc_page["articles"]

# empty list which will

# contain all trending news

results = []

for ar in article:

results.append(ar["title"])

for i in range(len(results)):

# printing all trending news

print(i + 1, results[i])

#to read the news out loud for us

from win32com.client import Dispatch

speak = Dispatch("SAPI.Spvoice")

speak.Speak(results)

# Driver Code

if __name__ == '__main__':

# function call

NewsFromBBC()

產出:

1 Italy to lift coronavirus travel restrictions

2 White House 'Operation Warp Speed' to look for Covid jab

3 Two Americas in the nation's capital

4 Kobe Bryant helicopter crash post-mortem released

5 Little things people are doing while socially distanced

6 The last 'normal' photo on your phone

7 'They came to kill the mothers'

8 EU-UK Brexit trade talks in trouble

9 Trial starts to see if dogs can 'sniff out' virus

10 Beatles photographer Astrid Kirchherr dies aged 81

註:輸出可能會根據時間的前幾篇而改變

案例:GoogleNewsFeed

先決條件——Python tkinter

在本文中,我們將編寫一個python腳本,從GoogleNewsFeed中提取新聞文章用Gnewsclient模塊,把它綁在一起a GUI申請。Gnewsclient是GoogleNewsFeed的python客戶端。為了使用這個API,必須先顯式地安裝這個API。

安裝

下面的終端命令安裝gnewsclient包及其所有必需的庫。運行就行了。

pip install gnewsclient

使用模塊

導入gnewsclient模塊

創建NewsClient對象並設置當前參數設置

獲取新聞信息

Python 3# import module

from gnewsclient import gnewsclient

# declare a NewsClient object

client = gnewsclient.NewsClient(language='hindi', location='india', topic='Business', max_results=5)

# get news feed

client.get_news()

產出:

下面的代碼描述了如何從本模塊收集的信息中列印其他因素,如位置、語言和主題:

Python 3import gnewsclient

from gnewsclient import gnewsclient

client = gnewsclient.NewsClient(language='hindi',

location='india',

topic='Business',

max_results=5)

# prints location

print("Location: \n",client.locations)

print()

# prints languages

print("Language \n",client.languages)

print()

# prints topics

print("Topic \n",client.topics)

產出:

案例:Python 3from gnewsclient import gnewsclient

client = gnewsclient.NewsClient(language='english',

location='india',

topic='sports',

max_results=3)

news_list = client.get_news()

for item in news_list:

print("Title : ", item['title'])

print("Link : ", item['link'])

print("")

產出:

程序2該代碼在GUI中實現了程序1的方法。

Python 3# import modules

from tkinter import *

from gnewsclient import gnewsclient

# defined funtions

def news():

client = gnewsclient.NewsClient(

language=lang.get(), location=loc.get(), topic=top.get(), max_results=3)

news_list = client.get_news()

result_title.set(news_list[0]["title"] + "\n" +

news_list[1]["title"] + "\n" + news_list[2]["title"])

# tkinter object

master = Tk()

master.title("NEWS")

# background set to grey

master.configure(bg='light grey')

# Variable Classes in tkinter

result_title = StringVar()

result_link = StringVar()

# Creating label for each information

# name using widget Label

Label(master, text="Choose language :", bg="light grey").grid(row=0, sticky=W)

Label(master, text="Choose Location :", bg="light grey").grid(row=1, sticky=W)

Label(master, text="Choose Topic :", bg="light grey").grid(row=2, sticky=W)

lang = Entry(master)

lang.grid(row=0, column=1)

loc = Entry(master)

loc.grid(row=1, column=1)

top = Entry(master)

top.grid(row=2, column=1)

# Creating lebel for class variable

# name using widget Entry

Label(master, text="", textvariable=result_title,

bg="light grey").grid(row=3, column=1, sticky=W)

# creating a button using the widget

# Button to call the submit function

Button(master, text="SHOW", command=news, bg="white").grid(row=1, column=3)

mainloop()

產出:

相關焦點

  • 新聞寫作機器人的應用及前景展望——以今日頭條新聞機器人張小明...
    摘要:在裡約奧運會上,今日頭條的一個名叫「張小明」的新聞機器人讓讀者眼前一亮。2秒鐘寫稿,擬人化語言,智能配圖......近些年來,人工智慧在新聞領域的應用越來越頻繁,不少人驚呼連記者這個行業都要被機器化了麼?
  • 被《新聞聯播》痛斥的反華急先鋒是誰?
    撰文 | 董鑫5月3日,《新聞聯播》播發《國際銳評:口出狂言的反華急先鋒班農唯恐天下不亂》。在被白宮掃地出門近兩年之後,這位曾有著「白宮師爺」之稱的美國總統前高級戰略顧問近期頻頻造謠、污衊、攻擊中國,又借著疫情刷了一把存在感。
  • Facebook推出本地新聞服務 打擊好友間傳播假新聞
    Facebook遭到外界批評之一,就是傳播假新聞。據外媒最新消息,Facebook日前推出了全新的地方新聞服務,這是面向新聞專業化計劃的一個組成部分。  在過去多年中,Facebook、Twitter以及谷歌搜索服務成為新聞傳播重要平臺,算法聚合、缺乏監管導致假新聞泛濫。谷歌和Facebook在歐洲和美國遭到了輿論的譴責,被指正在給社會帶來越來越多的負效應。
  • 如何利用機器學習和Gatsby.js創建假新聞網站
    我決定做一個小實驗,看看一個完全由電腦生成內容的新聞網站(比如華爾街日報)會是什麼樣子。這是成品的樣子。我知道它很乏味。更重要的是,它的功能非常強大,外觀很容易調整。並且隨意在這個項目上添加你想要的任何內容。
  • 練就火眼金睛:Python助你一眼看穿社交媒體中的假新聞!
    在社交媒體上閱讀新聞是一把雙刃劍。它成本低廉,容易獲取,人們可以與全球事務保持同步,與他人分享新聞,也分享他們的想法。然而,這種優勢常常被病毒式營銷所利用。比如儘管有些低質量新聞包含虛假事件,這些新聞還是會被傳播開來。社交媒體上的假新聞形式多樣,人們創建一些惡意帳戶來傳播假新聞,如噴子、電子人用戶、水軍等等。
  • 如果可以,我希望大連的頭條新聞是這些!
    >如果可以,我想看到這樣一條頭條新聞:全國再也沒有新增病例,確診的病人也全部出院,新增,確診,疑似三項數據全部為零! 2 「可以摘下口罩了」 如果可以,我想看到這樣一條頭條新聞
  • Facebook和谷歌決定不使用新聞內容付費
    打開APP Facebook和谷歌決定不使用新聞內容付費 TechWeb.com.cn 發表於 2020-12-08 14:02:33
  • 極光:百度APP、今日頭條及騰訊新聞是用戶最常使用的三大資訊平臺
    從活躍用戶維度上看,百度APP、今日頭條及騰訊新聞為月活用戶量最大的三大新資訊平臺,達億量級別,與其他平臺差距顯著;此外,百度APP及新浪新聞在Q3的月活同比增量在行業中較為明顯,而今日頭條及趣頭條的活躍用戶規模同比則呈現較大的負增長。  新資訊平臺滲透率對比  Q3頭部新資訊平臺滲透率同比多為負增長,百度APP保持領先優勢,滲透率同比增長2.0%。
  • 谷歌針對新聞行業推出全新工具 Journalist Studio
    據 Tech Chruch 報導,谷歌近日宣布針對新聞傳媒行業推出全新工具 Journalist Studio,幫助新聞記者完成工作。Journalist Studio 向新聞工作者提供 Google Drive、Google Scholar、數據收集、數據共享、GIF 製作器、事實檢查瀏覽器等工具,此外還有兩款新的產品 Pinpoint 和 The Common Knowledge Project 。Pinpoint 可以藉助谷歌搜索和 AI 支持的知識圖譜,幫助記者處理大型文件集中的數據,快速尋找到關鍵詞。
  • 外媒:谷歌新聞關閉數字雜誌,並在30天內退還訂閱費
    外媒:谷歌新聞關閉數字雜誌,並在30天內退還訂閱費 站長之家(ChinaZ.com) 1月6日 消息:據cnet道,谷歌宣布關閉了谷歌新聞(Google
  • 基於關鍵詞的個性化新聞推送
    摘要:隨著大數據時代的到來,面對爆炸式的信息增長,最短時間內獲取需要的信息是人們當前的迫切需求,隨之將新聞恰當精確推送給用戶,同時也就成為了各大新聞門戶關注的焦點。信息膨脹問題導致信息獲取效率也隨之下降,讓用戶獲取緊湊的個性化信息是每個新聞門戶都面臨著的最具挑戰性的任務。
  • 谷歌的第一次打擊:Youtube屏蔽了支持川普的新聞網站OANN
    (來源:Zerohedge)據Axios的說法,「YouTube因允許OANN利用其平臺傳播錯誤信息而受到批評,特別是圍繞冠狀病毒和選舉的錯誤信息,」並補充道,「這標誌著谷歌公司對OANN的第一次打擊。」
  • Techmeme如何成為科技行業的必讀新聞網站?
    而Techmeme所作的只不過提供其他網站新聞的連結,類似德拉吉報告(Drudge Report)或者谷歌(微博)新聞(Google News),它為何能夠取得這樣的成功?Techmeme的創始人加布·裡維拉(Gabe Rivera)告訴Business Insider,Facebook 執行長馬克•扎克伯格(Mark Zuckerberg)是Techmeme的一個忠實的讀者。
  • 使用Python和GloVe詞嵌入模型提取新聞和文章的文本摘要
    我在此練習中使用了python。處理新聞RSS摘要我選擇研究TimeOfIndia的RSS頻道,該公司是印度最受歡迎的新聞服務之一。在本練習中,我選擇了新聞的「world」部分。但是代碼比較靈活,可以處理各種新聞服務的多個RSS頻道。
  • 獵豹移動收購News Republic 掀起和今日頭條海外新聞市場競爭
    尤其重要的是,獵豹移動宣布以5700萬美元成功收購了全球移動新聞服務運營商News Republic。News Republic是一款極受追捧的全球知名新聞應用,總部設在波爾多和舊金山。他們通過智能編輯、數據分析和挖掘等手段向全球用戶提供最尖銳和廣泛的個性化新聞內容推薦,被譽為「世界上第一家沒有記者的新聞媒體」;同時News Republic大力推行正版化閱讀,與全球超過1650家新聞機構構建了良好的版權合作,讀者可以通過News Republic完善的個性化分發系統,瀏覽和閱讀屬於自己的頭條新聞,新聞形式包括文章,圖片和視頻;與此同時,讀者還可以就一個彼此感興趣的新聞話題展開討論
  • 量化投資者是如何獲取實時行情數據的呢?
    tushareTushare是一個免費、開源的python財經數據接口包。主要實現對股票等金融數據從數據採集、清洗加工 到 數據存儲的過程,能夠為金融分析人員提供快速、整潔、和多樣的便於分析的數據,為他們在數據獲取方面極大地減輕工作量,使他們更加專注於策略和模型的研究與實現上。Tushare運行三年多,已經更新到了Pro版。
  • 看新聞資訊類APP如何玩轉萬億市場
    新聞媒體獲取最新的社會信息,搭建移動新聞APP,,進而藉助個推等公司進行精準的消息推送是一個很好的選擇。這使廣大用戶能夠足不出戶便知天下事,隨時獲得最新的新聞訊息。因此,新聞APP開發深得用戶的喜好,得到用戶的支持。那麼,國內資訊類新聞APP發展趨勢如何了?2015.12月-2016.6月網絡新聞/手機網絡新聞用戶規模及使用率
  • 中國新聞網副總裁齊彬:環境新聞報導是一個新聞「富礦」
    他們現在發展一個新媒體產品叫封面新聞,封面新聞的主打產品是封面視頻。前不久我聽他們老總講,他們所有的記者都必須得做視頻,文字記者、圖片記者都需要做視頻,現在媒體視頻號層出不窮,視頻已經成為各個媒體標配產品。  雖然現在視頻已經成為一個媒體的標配產品,成為大家獲取資訊的一個主要渠道,但是還沒有完全到視頻大爆發的時代。我們說未來視頻將更加風行,為什麼?
  • 在Substratum背後的人們成為Andromeda的頭條新聞之前
    在Substratum背後的人們成為Andromeda的頭條新聞之前,團隊釋放了Sungstratum。Sungstratum與Andromeda相似,因為它是Substratum的付費插件,不需要root用戶訪問權限。但是,不同之處在於它是運行Android Nougat的三星設備的第一個模塊化的基於外部OEM的主題系統。
  • 是時候用「技術」反擊「標題黨」和「假新聞」了
    當某些人頻繁利用「標題黨」或者「假新聞」在網際網路平臺上獲取流量時,平臺方如何在平臺端更新速度以秒計的狀況下做出快速判斷——「Y」或者「N」,人工審核機制顯得遲鈍而緩慢,這個時候,就需要引入「技術」的變量,以彌補甚至懲罰「人性的弱點」。