基于Python通过API获取热点新闻(天行数据免费接口)

有时候想要查询最新的热点新闻,或者是希望后端自动获取热点新闻显示在网页上增加内容,那么应该怎么弄呢?今天记录一下用Python来调用API获取热点新闻的教程,希望对你有所帮助~~~

有时候想要查询最新的热点新闻,或者是希望后端自动获取热点新闻显示在网页上增加内容,那么应该怎么弄呢?今天记录一下用Python来调用API获取热点新闻的教程,希望对你有所帮助~~~

正文开始

首先访问天行数据官网(https://www.tianapi.com/)来申请一个API接口~~~

为什么用天行数据的呢?

经过许多查询,我发现天行数据可提供的接口类型较多,(具体大家可以自己探索,这里不再过多赘述),并且提供免费的调用次数,还是比较实惠的,操作也方便,大家也可以用其他的服务商,操作大同小异~~~

基于Python通过API获取热点新闻(天行数据免费接口)

天行数据官网

基于Python通过API获取热点新闻(天行数据免费接口)

各种接口类型

我们先注册一个账号,然后完成实名认证(也可以过一段时间再认证)

基于Python通过API获取热点新闻(天行数据免费接口)
基于Python通过API获取热点新闻(天行数据免费接口)

回到首页选择“新闻资讯”,我们用今日头条新闻为例:

基于Python通过API获取热点新闻(天行数据免费接口)

申请一个接口

我们先看看它的帮助文档:

接口信息
接口地址:http://api.tianapi.com/topnews/index 
请求示例:http://api.tianapi.com/topnews/index?key=APIKEY 
支持协议:HTTP/HTTPS
请求方式:GET/POST
返回格式:UTF8 JSON
请求参数
post请求时,enctype应为application/x-www-form-urlencoded

请求参数中有url或特殊字符时,应该对值urlencode编码下

名称	类型	必填	示例值/默认值	                         说明
key	string	是	您自己的APIKEY(注册账号后获得)	API密钥
num	int	否	10	                         返回数量1-50,默认10
page	int	否	1	                                 翻页
word	string	否	上海	                              搜索关键词
src	string	否	人民日报	                       指定来源
返回参数
名称	类型	示例值	                                                                            说明
ctime	string	2019-07-07 16:40:29	                                                          发布时间
title	string	大三女生穿破洞牛仔裤外出,外婆拉着手不让出门	                                  新闻标题
description	string	近日,四川省苍溪县,大三学生陶青梅放暑假待在家中......	                  新闻描述
picUrl	string	http://p9-tt.byteimg.com/list/pgc-image/7c4efd211ee84a4ca0a2fca99d2e9b95	  封面图片
source	string	重庆青年报	                                                                  新闻来源
接口价格
用户等级	免费接口数	每日赠送次数	会员价格	                       说明
免费会员	15个	          100次	         免费	                      每个免费接口每天赠送100次
高级会员	15个	          1万次	    20元/月、120元/年	              每个免费接口每天赠送1W次
黄金会员	不限	          50万     65元/月、390元/年(限时特价)	      每个免费接口每天赠送50W次
提示:系统优先使用赠送额度,超出后每次调用消耗1颗天豆(0.0001元),如项目有更高需求请点此升级会员等级。

这个接口每天有100次的免费调用次数,超过了这个次数需要消耗天豆(注册账号赠送1000颗),有更高需求可以开会员,不想开会员的可以用邮箱多刷账号

点击“在线测试”

基于Python通过API获取热点新闻(天行数据免费接口)

可以看到我们接口的KEY

基于Python通过API获取热点新闻(天行数据免费接口)

解释一下参数的用法:

http://api.tianapi.com/topnews/index  这是接口地址
填入自己的key来调用接口 例:http://api.tianapi.com/topnews/index?key=自己的密钥
设定num值设定接口返回的文章数量 例:http://api.tianapi.com/topnews/index?num=50  会返回50篇文章
设定word值设定文章搜索的关键词 例:http://api.tianapi.com/topnews/index?word=迷迭香 会返回与迷迭香有关的文章
设定src值设定文章的来源  例:http://api.tianapi.com/topnews/index?src=人民日报 会返回人民日报发表的文章

链接示例http://api.tianapi.com/topnews/index?key=555555555555555555&word=迷迭香&num=5
返回5篇与迷迭香有关的文章
参数并列使用用分隔符&

顺便说一句,天行数据里提供的代码范例适用于Python的2.7版本,众所周知这是个另类,现在大多用3打头的版本的Python了,所以我们要另写代码

首先,运行cmd,用pip安装requests包

pip install requests

基于Python通过API获取热点新闻(天行数据免费接口)

我就在Visual Studio Code里示例

然后新建文件,输入代码:

# -*- coding: UTF-8 -*-
import requests //导入requests包

rs=requests.get("http://api.tianapi.com/topnews/index?key=你的key")  //从接口地址调用数据
content=rs.json()['newslist'] //将返回的信息储存在neslist这个表内
print(content)  //打印表

查看输出

基于Python通过API获取热点新闻(天行数据免费接口)

我们看到,输出已经返回给我们了,但整个表非常乱,返回的数据既有日期,开头,图片,也有文章链接等值,不利于我们后期数据的处理

所以我们整理一下表

//加入以下代码

for i in content:   //循环以整理所有返回的数据
    print("开头:{}\n图片地址:{}\n新闻地址:{}\n".format(i['title'],i['picUrl'],i['url']))     //依次打印值
//完整代码
# -*- coding: UTF-8 -*-
import requests

rs=requests.get("http://api.tianapi.com/topnews/index?key=你的key")
content=rs.json()['newslist']

for i in content:
    print("开头:{}\n图片地址:{}\n新闻地址:{}\n".format(i['title'],i['picUrl'],i['url']))

查看效果

基于Python通过API获取热点新闻(天行数据免费接口)

整理后看起来非常整洁,可以对返回的数据进行处理了~~~

可以对值进行分析,分别处理数据~~~~

注意记得json值的转换

大致的教程就是这样,别的接口也大同小异,用API来丰富你的网站页面吧!

基于Python通过API获取热点新闻(天行数据免费接口)
土味情话接口

就先这样了,睡觉先

原创文章,作者:Rosmontics,如若转载,请注明出处:https://rosmontis.com/archives/64

(1)
RosmonticsRosmontics网站管理员
上一篇 2021年7月28日 下午5:05
下一篇 2021年10月13日 下午7:40

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

评论审核已启用。您的评论可能需要一段时间后才能被显示。