本来我博客的一言,都是来自https://github.com/kokororin/hitokoto/blob/master/hitokoto.json的,400多条的样子。

刚刚自己有点不满足这些了,于是就像自己能不能试着扒一下一言的数据呢。

从https://hitokoto.cn/status这个页面发现一言数目1461,应该就是一共的数量吧???

直接请求https://v1.hitokoto.cn就可以获得一条一言的json

然后开始弄

$nr='[
';

//用于拼接内容,使其变成json格式

//设置超时参数

$opts=array(

"http"=>array(

"method"=>"GET",

"timeout"=>3

),

);

$context = stream_context_create($opts);

//超时这个部分我不懂,在网上随便复制的

for($i=0;$i<1461;$i++){

//设置循环变量,让其循环1461次

$json_string =file_get_contents('https://v1.hitokoto.cn/', false, $context);

//抓取一条一言的json内容

$data = json_decode($json_string);

//对JSON数据进行解码,转换为PHP变量

$id = $data->id;

//定义id为一言json的id

$a= array();

//创建一个空数组

$isin = in_array($id,$a);

//判断一言id是否存在数组中,用来过滤重复抓取的一言数据

if($isin){

$i--;

//如果存在,则i-1,然后重新执行for循环

}else{

array_push($a,$data->id);

//不存在,将一言id存在数组里

$data_json = json_encode($data);

//转为json格式

$dh=',
';

if($i==0){$dh='';}

$nr=$nr.$dh.$data_json;

//拼接内容,使其跟json格式对应

}

}

echo $nr.'
]';

//循环结束,输出最终内容

刚写完的瞬间,内心只剩下了“完美”二字,然而我一运行,转圈圈...转圈圈...然后就404了。

然后我内心依旧剩下两个字“垃圾”。

然后我就将循环次数由1461改成了300,准备分批抓取,手动将抓取结果存txt,同时将这300条的数据id都输出出来,然后手动添加到原本建立的空数组中,然后进行第二批抓取...

然后第三批...

等等...

最后我抓了1500条数据,我就不抓了累了,不过官方不是说就1461条数据吗?好奇怪!

然后用https://www.bejson.com/验证了下格式,没啥问题就ok了

php采集一言代码_php抓取一言数据相关推荐

  1. php采集一言代码_PHP简单实现一言 / 随机一句功能

    很多网站都喜欢在页面中加个一言,不过一般都是调用的第三方api.其实,使用万能的php能用短短的几行代码就实现该功能! 将下列代码复制并粘贴到 api.php 中保存,你的专属"一言&quo ...

  2. php每天扒取当天新闻_php 抓取新浪新闻的程序代码

    Jquery中文网 > 脚本编程  > php  > 正文 php 抓取新浪新闻的程序代码 php 抓取新浪新闻的程序代码 发布时间:2016-10-09   编辑:www.jque ...

  3. php抓取百度搜索百度快照,php抓取百度快照、百度收录、百度热词程序代码,抓取百度快照_PHP教程...

    php抓取百度快照.百度收录.百度热词程序代码,抓取百度快照 /* 抓取百度收录代码 */ function baidu($s){ $baidu="http://www.baidu.com/ ...

  4. 爬虫软件尝试-后羿采集器:批量免费抓取网页数据

    免费软件尝试-后裔采集器 软件特点:免费,全平台(Windows. Mac. Linux),操作简单无需技术. 使用流程: 下载软件打开->输入抓取数据的网址->职能采集->等待自动 ...

  5. Java版 QQ空间自动登录无需拷贝cookie一天抓取30WQQ说说数据流程分析【转】

    Java版 QQ空间自动登录无需拷贝cookie一天抓取30WQQ说说数据&流程分析 QQ空间说说抓取难度比较大,花了一个星期才研究清楚! 代码请移步到GitHub GitHub地址:http ...

  6. php curl_setopt抓取内容,PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)

    通过curl_setopt()函数可以方便快捷的抓取网页(采集很方便),curl_setopt 是php的一个扩展库 使用条件:需要在php.ini 中配置开启.(PHP 4 >= 4.0.2) ...

  7. 微信好友大揭秘,使用Python抓取朋友圈数据,通过人脸识别全面分析好友,一起看透你的“朋友圈”...

    微信:一个提供即时通讯服务的应用程序,更是一种生活方式,超过数十亿的使用者,越来越多的人选择使用它来沟通交流. 不知从何时起,我们的生活离不开微信,每天睁开眼的第一件事就是打开微信,关注着朋友圈里好友 ...

  8. 如何使用浏览器控制台通过JavaScript抓取并将数据保存在文件中

    by Praveen Dubey 通过Praveen Dubey 如何使用浏览器控制台通过JavaScript抓取并将数据保存在文件中 (How to use the browser console ...

  9. directsound抓取麦克风PCM数据封装类

    directsound抓取麦克风PCM数据封装类 网上有很多方法从麦克风读取PCM数据,不想一一举例.只是在这里发布一个我自己写的directsound的麦克风PCM数据采集类,通过它,可以很方便的利 ...

最新文章

  1. java post 打开新页面_JAVA后台POST/GET访问方法
  2. SAP成本会计分录大全
  3. java i 什么时候变_Java中i++与++i的区别(效率分析)
  4. 电脑键盘练习_三款神器!超越键盘飞毛腿!
  5. 在codeigniter中使用Cache_Lite来缓存
  6. python iterable对象_如何理解Python中的iterable对象
  7. 用户一片哀嚎!三星手机系统突遇大面积崩溃:现黑屏、重启、乱码
  8. 舒服的网页登录界面设计灵感
  9. java调用Dos命令
  10. Spring Cloud入门教程-Ribbon实现客户端负载均衡
  11. 大数据:数据大合集,你想要的这里或许会有
  12. 大四求职经历——我只是一个普普通通的程序员
  13. python绘制三重积分图像_三重积分-图解高等数学13 | 文艺数学君
  14. 微型计算机原理与接口技术考试附录
  15. 电脑C盘空间变小解决办法
  16. 前端学习笔记2——错误解决,接口,echart
  17. 从菜鸟到架构师(一)
  18. 计算机控制技术注册二建,中央空调系统运行培训
  19. 检测钻石的边缘,以及确定钻石顶点的位置
  20. 教你如何从零基础基础到深入学习UI设计

热门文章

  1. 如何把pdf转成excel
  2. 从七十年代到现在软件架构的思想变化
  3. Apple现行公开的framework简介
  4. SAP ABAP中字符大小写转换问题汇总
  5. STM32实战总结:HAL之FSMC控制TFT-LCD
  6. 云台和华为p30pro_除了拍月亮 华为P30 Pro还拍出了首部轻科幻CG短片
  7. Springboot毕设项目咖啡馆管理系统4598u(java+VUE+Mybatis+Maven+Mysql)
  8. 【西语】【2】Recuërdame antes de que se desaparezca la memoria del amor 在爱的记忆消失前,请记住我
  9. 第4周项目4:程序分析(2)
  10. Latex中多个表格的引用