python通过API查阅热点新闻

最近在看一些API接口的文档信息,随手写了比较简单的接口调用程序。

新闻的API用的是聚合数据的,免费的,需要自己申请一个账号,然后才有key。

先放新闻接口数据格式以及返回信息

接口地址:http://v.juhe.cn/toutiao/index
支持格式:json
请求方式:get/post
请求示例:http://v.juhe.cn/toutiao/index?type=top&key=APPKEY
接口备注:返回头条,社会,国内,娱乐,体育,军事,科技,财经,时尚等新闻信息

请求参数说明:
名称	类型	必填	说明
 	key	string	是	应用APPKEY
 	type	string	否	类型,,top(头条,默认),shehui(社会),guonei(国内),guoji(国际),yule(娱乐),tiyu(体育)junshi(军事),keji(科技),caijing(财经),shishang(时尚)


JSON返回的示例:

{
    "reason": "成功的返回",
    "result": {
        "stat": "1",
        "data": [
            {
                "title": "巫山云雨枉断肠:女摄影师Erika Lust记录的性爱",/*标题*/
                "date": "2016-06-13 10:31",/*时间*/
                "author_name": "POCO摄影",/*作者*/
                "thumbnail_pic_s": "http://09.imgmini.eastday.com/mobile/20160613/20160613103108_7b015493398e7fd13dda3a5c
e315b1c8_1_mwpm_03200403.jpeg",/*图片1*/
                "thumbnail_pic_s02": "http://09.imgmini.eastday.com/mobile/20160613/20160613103108_7b015493398e7fd13dda3a5ce315
b1c8_1_mwpl_05500201.jpeg",/*图片2*/
                "thumbnail_pic_s03": "http://09.imgmini.eastday.com/mobile/20160613/20160613103108_7b015493398e7fd13dda3a5ce315
b1c8_1_mwpl_05500201.jpeg",/*图片3*/
                "url": "http://mini.eastday.com/mobile/160613103108379.html?qid=juheshuju",/*新闻链接*/
                "uniquekey": "160613103108379",/*唯一标识*/
                "type": "头条",/*类型一*/
                "realtype": "娱乐"/*类型二*/
            },
...]}}


下面上python程序

coding=utf-8
import urllib
import urllib2
import re
import json
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
headers = { 'User-Agent' : user_agent }

def news(ntype):
    url = 'http://v.juhe.cn/toutiao/index?type='+str(type)+'&key='
    try:
        request = urllib2.Request(url,headers = headers)
        response = urllib2.urlopen(request)
        content = response.read()
        data=json.loads(content)
        mynews=data['result']['data']
        for i in range(len(mynews)):
            print mynews[i]['title']
            print u"点击新闻链接%s"%mynews[i]['url'] 

    except urllib2.URLError, e:
        if hasattr(e,"code"):
            print e.code
        if hasattr(e,"reason"):
            print e.reason
while 1:
    print "-"*70
    ntype=raw_input(u"请输入要查看热点新闻的类型,top(头条,默认),shehui(社会),guonei(国内),guoji(国际),yule(娱乐),tiyu(体育)junshi(军事),keji(科技),caijing(财经),shishang(时尚)")
    news(ntype)
    print "-"*70

程序运行结果:

python通过API查阅热点新闻_第1张图片

你可能感兴趣的:(Python)