PHP实现新闻头条操作

前言

本文章所使用的接口地址为https://www.juhe.cn/docs/api/id/235
本文章的所有代码都是现使用代码,就是说,我的接口也是用这个代码的,所以代码可以正常使用。
我的接口文档doc.berfen.com(正在更新更多接口及文档)
下面直接上代码,各位可根据业务逻辑简单修改本篇代码。

代码

<?php
error_reporting(0);//关闭报错,生产环境下可以开启
function curl($data)
{
    $url = 'http://v.juhe.cn/toutiao/index';
    $ch = curl_init ();
    curl_setopt ( $ch, CURLOPT_URL, $url );
    curl_setopt ( $ch, CURLOPT_POST, 1 );
    curl_setopt ( $ch, CURLOPT_HEADER, 0 );
    curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
    curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );
    $return = curl_exec ( $ch );
    curl_close ( $ch );
    return $return;
}
function revert($data, $code = 200, $msg = '')
{
    header('Content-type:text/json; charset=utf-8');
    echo json_encode(array(
        'data' => $data,
        'code' => $code,
        'msg' => $msg
    ), JSON_UNESCAPED_UNICODE);
    exit();
}

// 支持的新闻类型
$new_type_list = array(
    'top',
    'shehui',
    'guonei',
    'guoji',
    'yule',
    'tiyu',
    'junshi',
    'keji',
    'caijing',
    'shishang'
);
//开发者KEY
$app_key = '后台查看';
$type = $_REQUEST['type'];
if (isset($type)) {
    if (!in_array($type, $new_type_list))
        revert('', 401, '新闻类型错误');
    $url_data = array(
        "key" => $app_key,
        "type" => $type
    );
    $obtain = curl($url_data);
    if ($obtain['error_code'] == 0) {
        $obtain_arr = json_decode($obtain, true);
        $obtain_result = $obtain_arr['result'];
        foreach ($obtain_result['data'] as $data) {
            $title = $data['title'];//新闻标题
            $time = $data['date'];//发布时间
            $new_type = $data['category'];//新闻类别
            $author = $data['author_name'];//发布者名称
            $new_url = $data['url'];//新闻链接
            $new_cover = $data['thumbnail_pic_s'];//新闻的第一张封面,可参考今日头条的列表
            $new_cover_2 = $data['thumbnail_pic_s02'];//新闻的第二张封面,有的新闻没有,所以请自行在业务代码里进行判断
            $new_cover_3 = $data['thumbnail_pic_s03'];//新闻的第三张封面,有的新闻没有,所以请自行在业务代码里进行判断
            $content[] = array(
                'title' => $title,
                'time' => $time,
                'new_type' => $new_type,
                'author' => $author,
                'url' => $new_url,
                'cover' => $new_cover,
                'cover_2' => $new_cover_2,
                'cover_3' => $new_cover_3
            );
        }
        revert($content, 200, '');//成功返回
    } else {
        revert('', 500, '服务器错误,具体错误代码为' . $obtain['error_code']);
    }
} else {
    revert('', 404, '请输入新闻类型');
}
?>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Joshua Burgin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值