Home  >  Article  >  Backend Development  >  How to query news headlines in php

How to query news headlines in php

藏色散人
藏色散人Original
2022-10-19 17:32:531274browse

How to query news headlines in php: 1. Open the free news headlines interface; 2. Request the news headlines interface URL and parameters; 3. Initiate an interface request and process the interface to return the results; 4. Through "function juheHttpRequest( $url, $params = false, $ispost = 0){...}" to initiate a network request.

How to query news headlines in php

The operating environment of this tutorial: Windows 7 system, PHP version 8.1, Dell G3 computer.

How to query news headlines in php?

Free news headline interface query based on PHP

1. Open interface

The free interface provided by the aggregated data used by the news headline interface service can be used 100 times a day Free calls.

You can register and activate through https://www.juhe.cn/docs/api/id/235?s=cpphpcn.

2. News headline list query

<?php
/**
 * 聚合新闻头条列表发起请求-PHP代码
 * 功能:最新新闻头条,各类社会、国内、国际、体育、娱乐、科技等资讯。
 */
// 请求的接口URL
$apiUrl = &#39;http://v.juhe.cn/toutiao/index&#39;;
// 请求参数
$params = [
    &#39;type&#39; => &#39;top&#39;, // 新闻类型
    &#39;key&#39; => &#39;xxxxxx&#39;, // 接口调用key,通过聚合平台申请开通
];
$paramsString = http_build_query($params);
// 发起接口请求
$response = juheHttpRequest($apiUrl, $paramsString, 1);
// 处理接口返回结果,根据自身业务逻辑修改处理
$paramstring = http_build_query($params);
$content = juheHttpRequest($apiUrl, $paramstring, 1);
$result = json_decode($content, true);
if ($result) {
    if ($result[&#39;error_code&#39;] == 0) {
        // 请求成功,根据自身业务逻辑修改处理
        $news = $result[&#39;result&#39;][&#39;data&#39;];
        if ($news) {
            foreach ($news as $key => $newsInfo) {
                // 更多字段,请参考官方接口文档
                echo $newsInfo[&#39;title&#39;].PHP_EOL;
            }
        }
    } else {
        // 请求异常,根据自身业务逻辑修改处理
        echo "{$result[&#39;error_code&#39;]}:{$result[&#39;reason&#39;]}" . PHP_EOL;
    }
} else {
    //可能网络异常等问题请求失败,根据自身业务逻辑修改处理
    echo "请求失败";
}

3. News headline details query

<?php
/**
 * 聚合新闻头条 - 新闻详情查询
 * 功能:最新新闻头条,各类社会、国内、国际、体育、娱乐、科技等资讯。
 */
// 请求的接口URL
$apiUrl = &#39;http://v.juhe.cn/toutiao/content&#39;;
// 请求参数
$params = [
    &#39;uniquekey&#39; => &#39;f9b3e37d91b452e182eda11db61e9c99&#39;, // 新闻ID
    &#39;key&#39; => &#39;xxxxxx&#39;, // 接口调用key,通过聚合平台申请开通
];
$paramsString = http_build_query($params);
// 发起接口请求
$response = juheHttpRequest($apiUrl, $paramsString, 1);
// 处理接口返回结果,根据自身业务逻辑修改处理
$paramstring = http_build_query($params);
$content = juheHttpRequest($apiUrl, $paramstring, 1);
$result = json_decode($content, true);
if ($result) {
    if ($result[&#39;error_code&#39;] == 0) {
        // 请求成功,根据自身业务逻辑修改处理
        $newsContent = $result[&#39;result&#39;][&#39;content&#39;];
        echo $newsContent;
    } else {
        // 请求异常,根据自身业务逻辑修改处理
        echo "{$result[&#39;error_code&#39;]}:{$result[&#39;reason&#39;]}" . PHP_EOL;
    }
} else {
    //可能网络异常等问题请求失败,根据自身业务逻辑修改处理
    echo "请求失败";
}

4. General HTTP network request function

/**
 * 发起网络请求函数
 * @param string $url 请求的URL
 * @param bool $params 请求的参数内容
 * @param int $ispost 是否POST请求
 * @return bool|string 返回内容
 */
function juheHttpRequest($url, $params = false, $ispost = 0)
{
    $httpInfo = [];
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    curl_setopt($ch, CURLOPT_USERAGENT, &#39;JUHE API&#39;);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
    curl_setopt($ch, CURLOPT_TIMEOUT, 12);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    if ($ispost) {
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
        curl_setopt($ch, CURLOPT_URL, $url);
    } else {
        if ($params) {
            curl_setopt($ch, CURLOPT_URL, $url . &#39;?&#39; . $params);
        } else {
            curl_setopt($ch, CURLOPT_URL, $url);
        }
    }
    $response = curl_exec($ch);
    if ($response === FALSE) {
        // echo "cURL Error: ".curl_error($ch);
        return false;
    }
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $httpInfo = array_merge($httpInfo, curl_getinfo($ch));
    curl_close($ch);
    return $response;
}

Recommended learning: " PHP video tutorial

The above is the detailed content of How to query news headlines in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn