Api官方接口

每日:http://open.iciba.com/dsapi/
查指定时间:http://sentence.iciba.com/index.php?c=dailysentence&m=getdetail&title=2018-11-06&_=1541655200812
杨小杰Apis:https://wiki.yum6.cn/docs/apis/wiki

搭建采集接口

<?php
header("Content-type: text/html; charset=utf-8"); //设置编码 utf-8
$t1 = microtime(true);
$utime = date("Y-m-d");//api的尾缀时间
$translation = '0';//翻译语句,0不采集,1采集
$content = '1';//英语版,0不采集,1采集
//使用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;
}
$myfile = fopen("iciba.txt", "a+");//创建文件保存抓取的句子
//循环次数 2018-7-31 至现在日期相差的天数
for ($i=1; $i<100; $i++) { $json_string =httpGet('http://sentence.iciba.com/index.php?c=dailysentence&m=getdetail&title='.$utime.'&_='.time());//curl 自定义函数访问api$data= json_decode($json_string,true);//解析json 转为phpif (isset($data['note'])) {$text1= $data['note']."\n"; fwrite($myfile, $text1);}if (isset($data['translation'])&&$translation==1) {$text2= str_replace('小编的话:', '', $data['translation'])."\n";fwrite($myfile, $text2);}if (isset($data['content'])&&$content==1) {$text3= $data['content']."\n"; fwrite($myfile, $text3);}$utime= date("Y-m-d",strtotime("-".strval($i)." day")); //每循环一次 当前日期减去循环变量
}
fclose($myfile);
$t2 = microtime(true);
echo 'ok,耗时'.round($t2-$t1,3).'秒';?>

运行这个接口能采集到之前100天的。

一言接口

<?php
//获取句子文件的绝对路径
//如果你介意别人可能会拖走这个文本,可以把文件名自定义一下,或者通过Nginx禁止拉取也行。
$path = dirname(__FILE__);
$file = file($path."/iciba.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 (isset($_GET['encode'])&&$_GET['encode'] === 'js') {header('Content-type: text/javascript;charset=utf-8'); echo "function iciba(){document.write('" . $content ."');}";
} else {echo $content;
}

每日采集接口

<?php
header("Content-type: text/html; charset=utf-8"); //设置编码 utf-8
$utime = date("Y-m-d");
$file_data = 'data.txt';
if(!file_exists($file_data)){fopen($file_data, "w");
}
$str = file_get_contents('data.txt');
$d=date('Y/m/d H:i',strtotime($str));$translation = '0';//翻译语句,0不采集,1采集
$content = '1';//英语版,0不采集,1采集
//请更改监控key 默认iciba
if($_GET['p']==='iciba'){
//判断今天是否已爬if(strtotime($utime)>strtotime($d)){
//爬虫开始
//使用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("iciba.txt", "a+");fwrite($myfile,$txt);fclose($myfile);
}$json_string =httpGet('http://open.iciba.com/dsapi/');//curl 自定义函数访问api
$data= json_decode($json_string,true);//解析json 转为php
//2018-4-11之前只有一条数据 so 加判断
if (isset($data['note'])) {$text1= $data['note']."\n"; myfile($text1);
}if (isset($data['translation'])&&$translation==1) {$text2= str_replace('小编的话:', '', $data['translation'])."\n";myfile($text2);
}
if (isset($data['content'])&&$content==1) {$text3= $data['content']."\n"; myfile($text3);
}
$myfile = fopen("data.txt", "w");
fwrite($myfile,$utime);
fclose($myfile);
echo "ok";
//爬虫结束
}else{echo "已爬";
}
}else
echo "老铁 搞事情吗";
?>

之后可以把这个每日采集接口使用宝塔计划监控为每日采集即可。
ps:多的图文介绍也就不多说了,查看采集毒鸡汤的文章即可。

采集金山词霸每日一句一言Api相关推荐

  1. Python爬取金山词霸每日一句,存储到MySQL中

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/7/3 20:25 # @Author : baoshan # @Site : ...

  2. python中年大叔学编程_中年大叔学编程-我用Python保存金山词霸每日一句

    其实金山词霸每日一句已经出来很久了,但是我都不知道,今天去金山词霸的官网看了看,感觉这些句子都挺不错的,所以就想着把它们给存下来. 我大概看了一下他的页面,请求的敏感数据是加密的,页面是基于请求的数据 ...

  3. 每日一句api Android,Android 图文数据JSON解析,金山词霸每日一句API的调用

    数据格式为 {"sid":"737", "tts":"http:\/\/news.iciba.com\/admin\/tts\/2 ...

  4. 金山词霸每日一句开放平台 .NET demo

    先附上地址:http://open.iciba.com/?c=api 小金山提供了2种获取数据的方式 1. 通过填入自己的网站名称.网址.邮箱地址 来生成一段javascript脚本,直接将生成的代码 ...

  5. android 类似金山词霸 每日一句源代码 csdn,个人作业2——英语学习APP案例分析(示例代码)...

    第一部分 调研, 评测 软件:微软必应词典(Android客户端) 版本:5.5.2 第一次上手体验: 整体界面上还算简洁,功能也算完全,但是并没有什么特别吸引我的地方.就我个人而言,如果不是这次作业 ...

  6. python 爬虫 金山词霸每日一句 优美的文段中英文爬取自编

    效果: 代码: #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2020/11/29 14:42 # @Author : huni # ...

  7. 每日一句api Android,金山每日一句 API 接口调用接入方法

    原标题:金山每日一句 API 接口调用接入方法 金山每日一句 API 大家都听说过吧,金山每日一句 API 每次刷新网页都会带来一个新的语句,现在盒子部落公布金山每日一句 API 接口,可以直接在自己 ...

  8. 获取每日一句,每天发给女朋友。

    分享给未来程序员的进阶代码:这个代码是给微信指定的好友(女朋友)发送好句,应该可以提高他(她)对你的好感,而且这个脚本可以打包成可执行程序(xxx.exe),放在专门挂机的服务器上就会每天发一次. 注 ...

  9. python--实现微信自动回复机器人和定时发送每日一句与天气预报

    目录 关于wxpy 安装wxpy 利用机器人实现微信自动回复 获取金山词霸每日一句 获取天气预报数据 定时发送每日一句与天气预报 结束 关于wxpy wxpy其实是通过微信网页版的api实现对微信的一 ...

  10. 使用Python实现微信群发每日一句

    我在自己教学的四个班里建了三个微信群,每个群大约有50-90人.我计划每天给学生双送双语每日一句,既让学生坚持学习英语,也传递给他们正能量,在后疫情时代保持积极向上.奋发有为的状态.然而,从拷贝金山词 ...

最新文章

  1. 实现费用管理 mysql_电信资费管理系统的设计与实现(NetBeans,MySQL)
  2. JVM 调优实战--JVM的运行参数及jinfo查看运行参数信息
  3. GreenPlum的并行查询优化策略
  4. java中.of,java中instanceof的用法
  5. 判断相等_为什么不建议你用a.equals(b)判断对象相等
  6. 使用计算机打印汉子文档,电子科技大学《计算机应用基础(本科)》20春期末考试【标准答案】...
  7. 从数组中取值,并且比较字符串的值
  8. 管理学大师彼得 德鲁克
  9. ubuntu svn命令
  10. Excel读取mysql数据库
  11. 公路通用复化辛普森公式匝道点位坐标计算4800源程序
  12. PSINS源码阅读—STIM300/GNSS组合导航
  13. Sketch Less for More: On-the-Fly Fine-Grained Sketch Based Image Retrieval (CVPR 2020 Oral)
  14. 最小函数值(minval)
  15. python编程的缩进什么意思_编程缩进是什么意思
  16. Codecademy网学习Python第六天
  17. GitHub 创建工程及clone 和 push
  18. linux英文字典,linux终端下的英文字典--SDCV(转)
  19. python filter和map的区别_js中filter和map的区别
  20. Linux工具篇 | Ubuntu安装Python包管理工具pip3

热门文章

  1. Dump+mysql导入_mysql mysqldump导入数据库
  2. 基于MK802 MiniPC的扩展开发应用-系统自制
  3. vtuber面部捕捉工具_如何做一名VTuber?一个VUP就足够
  4. 微信小程序_(2022)微信小程序开发者后台管理登录/开发成员管理/开发设置中设置(云)服务器/数据拉取权限配置/appID查看/邮箱修改
  5. 回溯算法之迷宫问题(Maze)
  6. 每日英语-2018.12.3
  7. 爬虫抓取暗黑3国服天梯榜数据及分析
  8. numpy不对等切分数组
  9. 华为云文件夹服务器,华为云空间服务器在哪个文件夹
  10. Android直接回复通知