织梦charset.func.php,织梦dede实现百度熊掌号API提交的方法(PHP推送)

2023-11-22 08:40

本文主要是介绍织梦charset.func.php,织梦dede实现百度熊掌号API提交的方法(PHP推送),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在熊掌号改造的过程中,相信有很多SEO朋友跟我一样遇到了资源API提交的困扰,今天姜成seo就以自己的深圳seo博客所用的dedecms/' target='_blank'>织梦dede系统来跟大家说下如何利用PHP推送实现DedeCMS的百度熊掌号API提交接口链接。

熊掌号的API提交分为新增内容接口和历史内容接口两个接口。通过新增内容接口,提交站内当天新产生内容的链接。新增内容享受24小时内抓取校验、快速展现优待。仅限提交绑定站点下的内容,否则无法成功提交,配额不可累计当日有效。而通过历史内容接口,每天可提交最多500万条有价值的内容,所提交内容会进入百度搜索统一处理流程,这个过程需要一段时间来进行处理。

通过查看熊掌号API资源提交的推送示例我们了解到,熊掌号的API推送有curl、post、php、ruby 共4种方式,今天我们就以PHP为例来跟大家讲一讲如何利用PHP推送实现DedeCMS的百度熊掌号API提交接口链接。

d4ef3cace0fd7b1a2bab1d3383b0d8fd.png

PHP推送新增内容接口代码(示例):

$urls = array(

'http://www.example.com/1.html',

'http://www.example.com/2.html',

);

$api = 'http://data.zz.baidu.com/urls?appid=XXXXXXXXX&token=xxxxxxxxxxxxx&type=realtime';

$ch = curl_init();

$options = array(

CURLOPT_URL => $api,

CURLOPT_POST => true,

CURLOPT_RETURNTRANSFER => true,

CURLOPT_POSTFIELDS => implode("

", $urls),

CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),

);

curl_setopt_array($ch, $options);

$result = curl_exec($ch);

echo $result;

Tips:接口调用地址格式为:http://data.zz.baidu.com/urls?appid=XXXXXXXXX&token=xxxxxxxxxxxxx&type=realtime(这句代码中,appid为我们熊掌号的唯一识别ID,必须带。token为在在搜索资源平台申请的推送用的准入密钥,也必须带。而参数type为对提交内容的数据类型说明,新增内容参数为realtime。)

如果仅仅靠这段代码,需要我们将每个文章的地址都复制下来,很麻烦,利用DedeCMS系统,我们可以生成文章地址,这样就节省了不少时间。

DedeCMS熊掌号API提交之新增内容接口代码:

require_once ("include/common.inc.php");

require_once "include/arc.partview.class.php";

require_once('include/charset.func.php');

$year = date("Y");

$month = date("m");

$day = date("d");

$dayBegin = mktime(0,0,0,$month,$day,$year);//当天开始时间戳

$dayEnd = mktime(23,59,59,$month,$day,$year);//当天结束时间戳

$query = "SELECT arch.id,types.typedir FROM dede_arctype as types inner join dede_archives as arch on types.id=arch.typeid where pubdate".$dayBegin."";

//echo $query;

$urls="";

$dsql->Execute('arch.id,types.typedir',$query);

while($row = $dsql->GetArray('arch.id,types.typedir'))

{

$urls.="http://www.seoblogs.cn".str_replace("{cmspath}","",$row['typedir'])."/".$row[id].".html".",";

//将上边www.seoblogs.cn换成你的网址

}

$urls=substr($urls,0,-1);

$urls    = explode(",",$urls);

$api = 'http://data.zz.baidu.com/urls?appid=熊掌号ID&token=密钥&type=realtime'; // 前边的熊掌号ID和密钥换成自己的

$ch = curl_init();

$options = array(

CURLOPT_URL => $api,

CURLOPT_POST => true,

CURLOPT_RETURNTRANSFER => true,

CURLOPT_POSTFIELDS => implode("

", $urls),

CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),

);

curl_setopt_array($ch, $options);

$result = curl_exec($ch);

echo $result;

?>

代码释义:

1、$query中“dede_archives”为自己数据库中存放文章的表,如果你的数据库表头做了修改,这里也要做响应修改。

2、本代码自动获取当天发布的所有文章链接,设置两个时间戳,0:0:0和23:59:59,也就是把当天这两个时间内的文章都自动提取出来,即是当天新增的内容。

c674bcc1366d4706bf0a142908e490dc.png

推送成功效果

PHP推送历史内容接口代码(示例):

$urls = array(

'http://www.example.com/1.html',

'http://www.example.com/2.html',

);

$api = 'http://data.zz.baidu.com/urls?appid=XXXXXXXXXX&token=xxxxxxxxxxxxx&type=batch';

$ch = curl_init();

$options = array(

CURLOPT_URL => $api,

CURLOPT_POST => true,

CURLOPT_RETURNTRANSFER => true,

CURLOPT_POSTFIELDS => implode("

", $urls),

CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),

);

curl_setopt_array($ch, $options);

$result = curl_exec($ch);

echo $result;

Tips:接口调用地址格式为:http://data.zz.baidu.com/urls?appid=XXXXXXXXXX&token=xxxxxxxxxxxxx&type=batch(这句代码中,appid为我们熊掌号的唯一识别ID,必须带。token为在在搜索资源平台申请的推送用的准入密钥,也必须带。而参数type为对提交内容的数据类型说明,新增内容参数为batch。)

DedeCMS熊掌号API提交之历史内容接口代码:

require_once ("include/common.inc.php");

require_once "include/arc.partview.class.php";

require_once('include/charset.func.php');

$year = date("Y");

$month = date("m");

$day = date("d");

$dayBegin = mktime(0,0,0,7,1,2015);//网站开始运行时间戳

$dayEnd = mktime(23,59,59,$month,$day,$year);//当天结束时间戳

$query = "SELECT arch.id,types.typedir FROM dede_arctype as types inner join dede_archives as arch on types.id=arch.typeid where pubdate".$dayBegin."";

//echo $query;

$urls="";

$dsql->Execute('arch.id,types.typedir',$query);

while($row = $dsql->GetArray('arch.id,types.typedir'))

{

$urls.="http://www.seoblogs.cn".str_replace("{cmspath}","",$row['typedir'])."/".$row[id].".html".",";

//将上边的www.seoblogs.cn换成你的网址

}

$urls=substr($urls,0,-1);

$urls    = explode(",",$urls);

$api = 'http://data.zz.baidu.com/urls?appid=熊掌号ID&token=密钥&type=batch';// 前边的熊掌号ID和密钥换成自己

$ch = curl_init();

$options = array(

CURLOPT_URL => $api,

CURLOPT_POST => true,

CURLOPT_RETURNTRANSFER => true,

CURLOPT_POSTFIELDS => implode("

", $urls),

CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),

);

curl_setopt_array($ch, $options);

$result = curl_exec($ch);

echo $result;

?>

代码释义:

1、$query中“dede_archives”为自己数据库中存放文章的表,如果你的数据库表头做了修改,这里也要做响应修改。

2、本代码自动获取网站的所有历史文章链接,设置两个时间戳,mktime(23,59,59,$month,$day,$year)和mktime(0,0,0,7,1,2015),也就是把网站的所有历史文章都自动提取出来。

e29c6ab276157ee1fe3a5e8b0c757d29.png

推送成功效果

下载文件DedeCMS熊掌号API提交新增内容接口文件和DedeCMS熊掌号API提交历史内容接口文件,解压后,修改文件,将文件中的密钥和网址改成自己的即可,将修改后的PHP文件上传到网站根目录,浏览器中输入:你的域名/baiduxz_new.php和你的域名/baiduxz_old.php,即可看到API提交的效果。

这篇关于织梦charset.func.php,织梦dede实现百度熊掌号API提交的方法(PHP推送)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/408902

相关文章

SpringBoot集成redisson实现延时队列教程

《SpringBoot集成redisson实现延时队列教程》文章介绍了使用Redisson实现延迟队列的完整步骤,包括依赖导入、Redis配置、工具类封装、业务枚举定义、执行器实现、Bean创建、消费... 目录1、先给项目导入Redisson依赖2、配置redis3、创建 RedissonConfig 配

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

Python的Darts库实现时间序列预测

《Python的Darts库实现时间序列预测》Darts一个集统计、机器学习与深度学习模型于一体的Python时间序列预测库,本文主要介绍了Python的Darts库实现时间序列预测,感兴趣的可以了解... 目录目录一、什么是 Darts?二、安装与基本配置安装 Darts导入基础模块三、时间序列数据结构与

Python使用FastAPI实现大文件分片上传与断点续传功能

《Python使用FastAPI实现大文件分片上传与断点续传功能》大文件直传常遇到超时、网络抖动失败、失败后只能重传的问题,分片上传+断点续传可以把大文件拆成若干小块逐个上传,并在中断后从已完成分片继... 目录一、接口设计二、服务端实现(FastAPI)2.1 运行环境2.2 目录结构建议2.3 serv

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

MyBatis Plus实现时间字段自动填充的完整方案

《MyBatisPlus实现时间字段自动填充的完整方案》在日常开发中,我们经常需要记录数据的创建时间和更新时间,传统的做法是在每次插入或更新操作时手动设置这些时间字段,这种方式不仅繁琐,还容易遗漏,... 目录前言解决目标技术栈实现步骤1. 实体类注解配置2. 创建元数据处理器3. 服务层代码优化填充机制详

Python实现Excel批量样式修改器(附完整代码)

《Python实现Excel批量样式修改器(附完整代码)》这篇文章主要为大家详细介绍了如何使用Python实现一个Excel批量样式修改器,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录前言功能特性核心功能界面特性系统要求安装说明使用指南基本操作流程高级功能技术实现核心技术栈关键函

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima