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

2020-12-26 騰訊網

新聞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()

產出:

相關焦點

  • 手機新聞客戶端:騰訊、網易、頭條、搜狐新聞競品分析
    根據艾媒諮詢的數據顯示:在2016上半年,騰訊新聞、今日頭條分別以42.8%、32.6%的佔比領跑新聞客戶端活躍用戶分布,圍繞用戶爭奪的營銷戰在2016下半年將持續上演。為了深入了解手機新聞產品,本文就騰訊新聞,網易新聞,今日頭條與搜狐新聞做競品分析。
  • 新浪新聞出的「明日頭條」,對用戶獲取新知可能沒啥用
    新浪新聞客戶端出了個新欄目,叫 「明日頭條」,說是可以提前 24 小時知道明星的動態,實際上就是個娛樂快訊的集合,不一樣的是,它號稱會推送未來會發生的事情。以今天(11 月 28 日)為例,打開明日頭條,一共有 38 條新聞,每條長度一般不超過 1000 字。
  • 網絡爬蟲乾貨,項目實戰,製作新聞採集器
    本系列將由淺入深給大家介紹網絡爬蟲,一步一步教大家學會怎麼分析請求,抓取數據,到項目實戰,真正意義上爬取一切你想要的!本章介紹:編寫新聞採集器新聞採集器一、流程整合,著手編寫上一篇文章我們介紹了新聞內容的獲取,結合前兩篇文章,我們可以總結一下新聞爬蟲的大體流程,包括請求分析,參數分析和文章內容獲取
  • python 提取網頁正文_4 行 Python 代碼開發新聞網站通用爬蟲
    GNE 在提取今日頭條、網易新聞、遊民星空、 觀察者網、鳳凰網、騰訊新聞、ReadHub、新浪新聞等數百個中文新聞網站上效果非常出色,幾乎能夠達到 100%的準確率。返回如下欄位:title:新聞標題publish_time:新聞發布時間author:新聞作者content:新聞正文images: 正文中的圖片(相對路徑或者絕對路徑)可能有些朋友希望獲取新聞正文所在標籤的原始碼,此時可以給 extract() 方法傳入
  • python獲取ES中的數據
    在介紹如何從ES中獲取數據之前,我們先在ES中添加一條數據,創建索引test。以下操作均在kibana中運行1.查看索引中的數據命令:GET test/_searchES中有了數據之後,我們來通過python獲取ES中的值。這裡用兩種方式分別獲取ES中的值。第一種方式使用python中的Elasticsearch工具包;第二種方式使用requests工具包,即通過請求url的方式才kibana獲取ES中的值。
  • 今日頭條新聞官網下載
    啥,沒時間,不怕,今日頭條新聞官網下載滿足你,快來下載體驗吧。 今日頭條是一款新聞資訊閱讀軟體,基於機器學習的個性化資訊推薦引擎,今日頭條極速版5秒算出你的興趣,每日1000多位工程師精心優化算法,只為每一次推薦都更加精準,讓閱讀更加有用高效。
  • 中國新聞App最新排名:騰訊新聞與今日頭條的一哥之爭
    縱觀世界新聞App市場,隨著用戶新聞接收渠道的多樣化,用戶的閱讀時間也越來越碎片化:從總體上說,社交媒體app和專門的新聞app成為現在用戶在移動端獲取新聞的主要渠道。新聞app,作為專門的新聞傳播渠道,成為新聞媒體和其它app發行商重點爭奪的市場,世界各地也呈現出各自市場的特色。
  • 今日頭條肆意抓取新聞陷侵權漩渦 新聞搬運工還是剽竊者
    原標題:手機APP「今日頭條」肆意抓取新聞陷侵權漩渦 搜狐網和騰訊網日前否認與今日頭條有合作,昨日,記者打開今日頭條APP,已經見不到有來自騰訊的新聞,但是仍有來自搜狐和其他眾多網站的新聞,這些新聞仍存在未經授權即被使用的侵權可能。   今日頭條自稱新聞的搬運工,然而有關法律和業內人士表示,它未經允許大量抓取其他網站新聞的做法涉嫌侵權和剽竊。
  • 谷歌新聞將允許用戶訪問特定合作夥伴的部分付費內容
    谷歌新聞將允許用戶訪問特定合作夥伴的部分付費內容2020-12-03 21:58出處/作者:cnBeta.COM整合編輯:佚名責任編輯:zhaoyongyu1好消息是,作為與新聞出版機構 10 億美元合作的一部分,谷歌已開始為其新聞展示(News Showcase)項目引入一些付費內容。 該公司在一篇博客文章中,其將與特定的出版商合作,為用戶提供某些付費內容。
  • Python
    最近,在數據挖掘課,要交課設了,打算做一個通過機器學習進行新聞分類,首先要有大量的文本(新聞),去做訓練,並通過爬蟲爬取大量的新聞一,思路如下:0.首先確定獲取數據的網站1.通過BeautifulSoup來切取連結2.
  • 谷歌新聞應用將突出本地出版商的COVID-19更新
    據外媒報導, 谷歌周一宣布,正在測試將本地COVID-19新聞內容添加到其新聞應用中的一個特殊部分。 新的測試是與當地新聞出版商合作進行的,目的是幫助消費者了解新冠大流行對其社區的影響。谷歌新聞工程總監Daniel Rocha在一篇博客中寫道:「隨著世界各地的城市和城鎮以當地的政策和指導方針做出反應,及時和權威的當地新聞和信息的需求是至關重要的。為了幫助人們瀏覽這些複雜的問題,我們正在整個新聞產品中突出最新的地方指導意見,並浮現更多來自當地新聞出版商的內容,以便用戶了解病毒如何影響他們的社區。」
  • 機器人新聞:開啟新聞生產模式新樣態
    而當前的受眾市場複雜化、多元化、個性化,他們想要獲取的新聞也呈現出多元化、個性化、實時性等特徵,新聞媒體想要抓住受眾市場就理應在這方面有所作為,機器人新聞也應該是新聞界在滿足受眾需求方面應有的作為。 (一)傳媒市場環境的變化 改革開放後,整個傳媒市場面貌煥然一新。
  • 谷歌與德國、荷蘭等國出版商達成新聞付費協議
    據英國《金融時報》25日報導,谷歌已同意在德國、荷蘭、澳大利亞和巴西四個國家向出版商支付新聞費用,這是被谷歌稱為「支持新聞行業的授權計劃」的一部分。谷歌表示,它將向德國的明鏡周刊(Der Spiegel)和澳大利亞的施瓦茲傳媒(Schwartz Media)等參與該計劃的出版商支付「高質量」新聞費用。谷歌新聞產品副總裁布拉德·本德(Brad Bender)稱,這一舉措是「一個重大轉變」,將「幫助出版商從高質量內容中賺錢,培養與讀者的更強關係,並幫助他們成為忠實訂戶」。
  • 今日頭條、鳳凰新聞、網易新聞、天天快報4款APP被下架
    來源:新京報4款APP被下架 今日頭條暫停下載3周多家安卓商店已暫停下載今日頭條、鳳凰新聞、網易新聞和天天快報等APP;公司未對下架做出回應4月9日,部分安卓商店已不能下載今日頭條、天天快報等手機截屏圖片來源:新京報4月9日,幾位應用分發渠道的知情人士向記者證實,已經接到主管部門的要求,在當天15:00之前下架四款新聞資訊類應用。這四款應用分別是今日頭條、鳳凰新聞、網易新聞和天天快報。從4月9日15:00起,「今日頭條」將被暫停下載服務3個星期,「鳳凰新聞」暫停下載2個星期,「網易新聞」暫停下載一個星期,「天天快報」暫停下載3天。
  • 今日頭條、網易新聞等四家新聞資訊類App被下架
    PingWest品玩4月9日報導,引述搜狐IT的消息,據國內幾家應用商店廠商反饋稱,已接到有關部門下發指令,要求將今日頭條等四款新聞資訊類APP進行下架處理,下架時間從今日15時起。根據搜狐科技得到的消息顯示,要求內容是「為依法規範傳播秩序,各網際網路應用商店暫停今日頭條、鳳凰新聞、網易新聞和天天快報四款行動應用程式的下載服務」。
  • 谷歌為新聞讀者提供指向另一篇文章的for context
    近日,有眼尖的網友發現,谷歌開始在新聞下方提供一個輔助框,以便用戶更全面地了解相關信息。 從 @ CorticonCmdr 在推特上分享的截圖可知 —— 面向新聞閱讀者的這項「for context」擴展閱讀功能,提供了指向同一主題的第二篇文章的連結。
  • 澳大利亞立法要求谷歌為新聞機構付費 遭回懟:不可行
    谷歌被美國多個州提起反壟斷聯合起訴,又在澳大利亞遭遇麻煩。上周澳大利亞議會啟動審議一項向谷歌徵收新聞費的法律,本周五招來谷歌高管的首次公開抨擊。據路透報導,當地時間周五,谷歌澳大利亞和紐西蘭分公司總經理Mel Silva稱,澳大利亞這項旨在讓數字平臺為新聞付費的法律是不可行的,提議的仲裁模式只偏向於媒體的利益。Mel Silva表示,這將迫使谷歌為展示的連結付費,這將從根本上動搖搜尋引擎的運作模式。
  • 鳳凰新聞控訴今日頭條劫持流量
    深圳晚報訊(記者 )近日,鳳凰科技發文公開譴責今日頭條劫持客戶端更新的流量,不僅在鳳凰新聞升級時誘導用戶下載今日頭條,並在百度、搜狗等搜尋引擎競購關鍵詞。隨後,今日頭條以「誹謗」為由提起訴訟,認為鳳凰新聞客戶端侵犯了今日頭條名譽,要求致歉並賠償經濟損失500萬元。 記者就此事嘗試聯繫今日頭條工作人員,對方以事態敏感為由拒絕發聲。
  • 它不生產一條新聞,卻讓6億中國人看新聞只用今日頭條!
    作者:遲忠波它不生產一條新聞,卻讓6億中國人看新聞只用今日頭條!他不懂媒體,但他用成功告訴我們傳媒老炮和BAT巨頭在新聞上是紙老虎! 但是, 在今日頭條出來之前,在張一鳴前面有三座大山,第一座是BAT,第二座是以搜狐為代表的門戶網站,第三類是傳統的新聞戰線老炮,他們都在做跟資訊、新聞相關的事,可以說最應該成功應該是他們?可是,為什麼不是他們呢?為什麼不是BAT,要回答這個問題其實也很簡單,還是要從「選擇」入手,而這個選擇是選擇時機的問題。
  • 新聞App哪個好?四款主流手機新聞軟體橫評
    2016-06-13/14:48 信息化不斷升級的今天,人們接收信息的方式逐漸從PC遷移到手機,移動智慧型手機的普及使得資訊的獲取越來越碎片化