php抓取百度热榜热点新闻代码分享

原理:

php请求百度首页的所有代码,然后正则匹配出百分展现出来的json数据,抓取完整的json数据之后用php代码本地整理之后存储到txt文件里面,每天保存一次,每次调用直接从txt文件中读取内容,不会重复读取百度首页的内容。

现在唯一的缺点就是百度首页的热点有可能不是一天一更新,而是实时或者几小时更新一次。但是为了性能我这边就不做判断了,只进行每天一次。

效果:请输入图片描述

代码:

<?php
header("Content-type:text/html; charset=UTF-8");
 
if(!file_exists("data/".date('Y-m-d').".txt")){
    $tj_url = "https://www.baidu.com";
    $ddd = Curl($tj_url);
    preg_match_all('/<textarea id="hotsearch_data".*?>(.*?)<\/textarea>/',$ddd, $matches);
    // 数据处理,只保留需要的内容
    $js = json_decode($matches[1][0],true);
    $erwei_array = $js['hotsearch'];
    foreach ($erwei_array as $k => $v) {
        $new_array[] =[
            'name' => $v['pure_title'],
            'url' => urldecode($v['linkurl']),
            'rudu' => $v['heat_score'],
        ];
   }
    $aaa = json_encode($new_array,JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE);
    echo '<pre>';
    print_r($aaa);
    
    // 写入数据到txt文件
    $filename="data/".date('Y-m-d').".txt";
    $handle=fopen($filename,"w");
    $str=fwrite($handle,$aaa);
    fclose($handle); 
}else{
    $filename="data/".date('Y-m-d').".txt";
    $handle = fopen($filename, "r");
    $gagaga = fread($handle,filesize ($filename));
    // $aaa = json_encode($new_array,JSON_UNESCAPED_SLASHES|JSON_UNESCAPED_UNICODE);
    die($gagaga);
}
 
 
//GET模式的curl方法
function Curl($url){
    $UserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36';#设置ua
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    // if ($method == "post") {
    //     curl_setopt($curl, CURLOPT_REFERER, $ifurl); 
    //     curl_setopt($curl, CURLOPT_POST, 1);
    //     curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
    // }
    $response = curl_exec($curl);
    curl_close($curl);
    return $response;
}
Typecho赞赏功能

「一键投喂 软糖/蛋糕/布丁/牛奶/冰阔乐!」

薇拉航线🌺

(๑>ڡ<)☆谢谢老板们的投食~

使用微信扫描二维码完成支付


文章二维码

手机阅读

所有原创文章采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。
本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!


关注微信公众号『丰烨地毯』

第一时间了解最新地毯信息
关注官微不迷路~

添加新评论

  关于博主

一个90后的国际货运专业毕业的学生 搭建网站纯粹是个人兴趣使然 偶尔会写一丢丢PHP和JS的前端代码 目前正在纺织公司学习外贸方面的新人 欢迎各位朋友的交流学习!

  网易评论

思考中……

  近期评论

成功源于不懈的努力。

暗自伤心,不如立即行动。

再多一点努力,就多一点成功。

得意淡然,失意坦然;喜而不狂,忧而不伤。

海纳百川,有容乃大;壁立千仞,无欲则刚。