U.S. flag

咔咔技术站所属网站

Dot gov

所属网站使用 KKJSZ.CN
KKJSZ.CN 属于咔咔技术站及其附属网站使用


HTTPS

KKJSZ.CN域名全面使用 HTTPS
小锁 ( ) 或 https:// 表示您已安全连接到KKJSZ.CN网站。

搭建一言 毒鸡汤API附带采集规则

搭建一言 毒鸡汤API附带采集规则

咔咔云
2022-05-03 / 0 评论 / 326 阅读 / 正在检测是否收录...

什么是毒汤日历

每天自动采集规则

将以下代码保存为caiji.php并上传到网站根目录(记得更改监控秘钥),每天访问一次就会自动抓取当天的毒鸡汤数据并保存到djt.txt,但是并不能达到全自动的目的,这时候需要监控平台(例如阿里云,360),这里咔咔云站长建议有服务器并配置宝塔面板的朋友使用宝塔面板的监控功能,可以自定义时间,更方便。

<?php
header("Content-type: text/html; charset=utf-8");
//设置编码 utf-8
$utime = date("Y-m-d");
$str = file_get_contents('data.txt');
$d=date('Y/m/d H:i',strtotime($str));
//请更改监控key 默认kkjsz.cn
if($_GET['p']==='kkjsz.cn'){
//判断今天是否已爬
if(strtotime($utime)>strtotime($d)){
//爬虫开始
$utime = date("Y-m-d");
//api的尾缀时间
//使用curl提高运行速度 不用动
function httpGet($url) {
$curl = curl_init();
$httpheader[] = "Accept:*/*";
$httpheader[] = "Accept-Language:zh-CN,zh;q=0.8";
$httpheader[] = "Connection:close";
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1" );
curl_setopt($curl, CURLOPT_HTTPHEADER, $httpheader);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 3);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_URL, $url);
$res = curl_exec($curl);
curl_close($curl);
return $res;
}
//定义写入函数
function myfile($txt){
$myfile = fopen("djt.txt", "a+");
fwrite($myfile,$txt);
fclose($myfile);
}
$json_string =httpGet('http://www.dutangapp.cn/u/toxic?date='.$utime);
//curl 自定义函数访问api
$data= json_decode($json_string,true);
//解析json 转为php
//2018-4-11之前只有一条数据 so 加判断
if (isset($data['data']['0']['data'])) {
$text1="\n". $data['data']['0']['data']."\n";
myfile($text1);
}
if (isset($data['data']['1']['data'])) {
$text2= $data['data']['1']['data']."\n";
myfile($text2);
}
if (isset($data['data']['2']['data'])) {
$text3= $data['data']['2']['data'];
myfile($text3);
}
$myfile = fopen("data.txt", "w");
fwrite($myfile,$utime);
fclose($myfile);
echo "ok";
//爬虫结束
}else{
echo "已爬";
}
}else
echo "老铁 搞事情吗";
?>

API搭建方法

将以下代码保存为index.php并与djt.txt文件一起上传到网站api(可自定义)目录内,请求地址:

<?php
header("Content-type: text/html; charset=utf-8");
//设置编码 utf-8
//获取句子文件的绝对路径
//如果你介意别人可能会拖走这个文本,可以把文件名自定义一下,或者通过Nginx禁止拉取也行。
$path = dirname(__FILE__);
$file = file($path."/djt.txt");
//随机读取一行
$arr = mt_rand( 0, count( $file ) - 1 );
$content = trim($file[$arr]);
//编码判断,用于输出相应的响应头部编码
if (isset($_GET['charset']) && !empty($_GET['charset'])) {
$charset = $_GET['charset'];
if (strcasecmp($charset,"gbk") == 0 ) {
$content = mb_convert_encoding($content,'gbk', 'utf-8');
}
} else {
$charset = 'utf-8';
}
//格式化判断,输出js或纯文本
if ($_GET['encode'] === 'js') {
echo "function djt(){document.write('" . $content ."');}";
} else {
echo $content;
}
?>

网站调用

复制下方代码到你的网站想显示的位置,修改api地址即可调用。

<script type="text/javascript" src="http://你的域名/api/index.php/?encode=js&charset=utf-8"></script>
<div id="djt"><script>djt()</script></div>

源码下载

这里咔咔云站长给大家写了一套完整的api调用带采集的源码,各位自行下载二开美化,需要注意的是,一言api在api文件夹里,一言调用的词句在hitokoto.txt文件里,可自行删增,源码使用了美化自定义字体,下载包已经包含且已经调用,如果服务器带宽低,可以自行压缩字体或者打开index.htm文件注释掉第15行代码即可。

演示图

毒鸡汤演示图

本文首发于:https://www.kkjsz.cn/archives/85.html

本文共 638 个字数,平均阅读时长 ≈ 2分钟
0

打赏

海报

正在生成.....

评论 (0)

取消