用python获取世界新闻头条

python玩与学 | 有你好看

公益教程 | 代码俱乐部 | 玩物励志

作为工程师、作为教师、作为销售、作为采购,作为办公室文员......作为任何一个在某一行业工作的人来说,Python都是最重要的工具之一。许多人都没有意识到这一点!为什么呢?可能原因很多,比如一提到Python由于它是一门编程语言,普通人就会想到:我又不想做程序员,为什么要学一个编程语言呢?再者可能英语把人们吓住了(虽然计算机的英语可能上过初中或高中的就能读懂)。Python的出现及最近几年的流行彻底改观了“编程是程序员的专利”这一观念,人们发现,简单而又强大的Python居然能够成为生产力工具,人人都可将它应用到自己的工作、娱乐中去——比如自动化、获得信息、分析处理数据等等方面。

其实这要得益于Python强大的社区支持以及丰富的“库”资源——几乎任何领域都能找到对应的Python库来处理你的工作。比如上一节我们介绍了一个可以帮你操作你的鼠标和键盘的类似“虚拟机器人”的Python库——pyautogui:将你从烦人的鼠标点击、键盘收入中彻底解放出来(

强烈建议点击这里阅读

这节我们简单介绍下一个新闻的API(应用程序编程接口),让你用Python获得最新的世界新闻资讯!

什么是API

许多互联网上的公司,比如Facebook,Google,Twitter(当然还有中国的了呵呵)它们都提供一种叫做“API”的东西——应用程序编程接口,用户可以使用它来做自己的程序。其实,API就是由人家给你提供的一系列的编程指令或标准,你按照它的要求使用就能获得它给你提供的信息。我们今天给大家介绍一个“新闻的API”——通过简单Python编程让你获得世界最新的新闻信息。

newsapi

这个新闻API叫做——newsapi。首先你要做的就是登陆它的网站,注册一个API key,它就像一把钥匙,以后你编程的时候都需要这把钥匙才能获得人家的服务。

网址是:https://newsapi.org/。

点击首页的Get API key,按照提示操作然后获得一个很长的字符串,比如像

Your API key is: fe3302e1913546a7a8a51c62f15d1e4e

后面这一长串的就是你的key了,把它拷贝下来放在一个文件里别忘了。

安装Python客户端库

newsapi还提供了用Python可以编程的库。我们按照下面的方法安装这个库到你的电脑上,库名字叫做newsapi-python,打开windows的命令行,然后输入以下的命令(你的电脑要先装好了Python环境哦,不然没有pip命令):

像下面的动图一样,不出意外很快就会安装完。如果安装过程中出现了红字,说明有错误的地方,那就再次输入上面的命令重新装下,一般就会好了。安装好了后打开python的解释器IDLE,然后输入下面的语句,如果没有报错,证明安装好了(注意字母大小写哦)。

安装newsapi-python库

测试newsapi-python库是否正确安装

获得新闻

比如,我想获得一些关于中国的新闻标题,那就使用下面的代码就行了。这里我使用的是库里的get_top_headlines()函数,这个函数用来“获得头条新闻标题”,有关什么内容的头条呢?因为我要查中国的,所以参数里写上q=China。这里你当然可以换成你想查的其他内容了(注意:api_key="换成你刚申请的key")。

获得有关“中国”的头条新闻标题的代码

上面代码得到的有关中国的新闻标题

(有一条新闻肯定不是真的:1百万人!瞎扯!不要相信美帝啊)

如果我不想只获得头条新闻,其他的新闻也可以,那就用到库里的另外一个函数了:get_everything(),将上面代码的get_top_headlines()换成get_everything()试验下吧。

如果你不光想看标题,还想看简短的描述(或摘要),就在上面的代码的for循环的下边再写上下面这一句:

有了上面的代码例子,实际上你还可以做的就是将它嵌入到你的网站里、你的App应用里,任何地方都可以。API不仅提供了上面的函数,其实还有很多!那我怎么知道呢?很简单,一般API提供者都会有Documentation,也就是“文档”,你使用一个API时一定要先查看它的文档。newsapi的文档地址在这里:

通过这个例子,大家知道了API的基本用法了。实际上,网络上有很多API或API wrapper(将网站提供的API进行再包装,更加容易用程序来访问)都提供给了大家,下面的网址就是有关Python的API和API wrapper的一个列表,真的有很多哦,各种各样,有时间大家可以看下:

https://www.pythonforbeginners.com/api/list-of-python-apis

学编程、学创造、释放你的想象力

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180813G0560D00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券