抓取百度识图接口

首先我们打开百度识图的首页,按 F12 呼出浏览器开发者工具,切换到 Netnork 选项卡。因为百度识图在上传完图片后会立即进行跳转,因此还需勾选 Preserve log 用以保留跳转前的数据。

准备就绪后点击 识图一下 > 本地上传,随意上传一张图片,这时浏览器 Netnork 里会列出在此期间产生的所有网络请求。我们可以点击工具栏里的 XHR,用以筛选出数据交互请求。(注:有时用 XHR也可能会过滤掉我们需要的数据,因此如果在 XHR 中找不到的时候,可以切回 ALL 里一个个找)

在筛选后的数据请求里,有个名称为 a_upload?fr=html5&target=pcSearchImage&needJson=true的请求很是可疑,因此点开查看请求详情。

可以看到,本地的图片果然是通过这个接口进行上传的。上传表单的文件 name 为 “file"。接口地址如下:http://image.baidu.com/pcdutu/a_upload?fr=html5&target=pcSearchImage&needJson=true

至此,我们成功抓取到了百度识图的图片上传接口,接下来可以正式搞事情了。

PHP百度图床代码

用代码实现很容易,就一个简单的 CURL 上传文件,这里直接给出完整版的代码了,收好!<?php

/**

* 上传图片到百度识图接口,获取图片外链

*

* @param     $file 图片文件

* @return    图片链接(上传成功)    NULL(上传失败)

* @copyright (c) mengkun(https://mkblog.cn/1619/)

*/

function uploadToBaidu($file) {

// API 接口地址

$url = 'http://image.baidu.com/pcdutu/a_upload?fr=html5&target=pcSearchImage&needJson=true';

// 文件不存在

if(!file_exists($file)) return '';

// POST 文件

if (class_exists('CURLFile')) {     // php 5.5

$post['file'] = new CURLFile(realpath($file));

} else {

$post['file'] = '@'.realpath($file);

}

// CURL 模拟提交

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL , $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

$output = curl_exec($ch);

curl_close($ch);

// 返回结果为空(上传失败)

if($output == '') return '';

// 解析数据

$output = json_decode($output, true);

if(isset($output['url']) && $output['url'] != '') {

return $output['url'];

}

return '';

}

// 使用示例:

$url = uploadToBaidu('1.jpg');

echo $url;

识图php,PHP利用百度识图接口把百度当图床相关推荐

  1. 记录一下在浏览器端利用微信地图定位接口和百度地图定位接口实现高精度定位的开发心得

    地图定位是一个很要命的问题,目测下来在手机浏览器端基于微信生态的定位接口要精准情况好过直接用百度 LBS 等地图定位.百度地图好处是未获取到坐标会按 IP 走定位. 业务背景:后台通过百度地图拾取坐标 ...

  2. 百度实时路况接口 html,百度地图api参考(2)--实时路况

    问题:刚接触百度地图,实时路况不懂. 解决办法:参考百度地图api,下面是自己写的一个小例子. /** 3d地图处理 其中包括地图的系列操作:放.缩小.平移.搜索.定位 */ window.onloa ...

  3. python 百度识图_python如何调用百度识图api

    一.先去百度识别官网注册开通服务且获得ak和sk 二.代码模板 import cv2 import base64 import requests import numpy as np import t ...

  4. 从百度识图效果对智能识图的一些思考

    我尝试让百度识图识别一张图片,它是一种芯片的图片来自于忆阻器,但得到了如下的结果: 它将我的图片联想到二维码. 这已经不错,但是还说不上"好".让我们想想看,它尝试找出它的线条分布 ...

  5. 百度识图上线,体验以图搜图

    之前听说是在内测,这会儿正式上线了,百度识图测试版,地址:stu.baidu.com.你可以自己上传图片,也可以用网络图片,我试了一下,一些原创性相对比较高的图片,基本上是搜不到啥结果(譬如本人的照片 ...

  6. 以图搜图新体验:图片谷歌和百度识图

    记得还是年初的时候,在公园里玩,看到路边有很漂亮的花儿,就拿手机拍下来.可是,我不知道这花儿叫什么名字,所以就算上网我也没办法了解这花儿的更多信息,或者可以发到论坛,看能不能遇到刚好打酱油的生物学家. ...

  7. java用gson转换百度识图api的json

    参考文章1 [转]用GSON 五招之内搞定任何JSON数组 参考文章2 JAVA使用Gson解析json数据,实例 百度识图api返回的值如下 result:{"log_id": ...

  8. python识图 web_python如何调用百度识图api

    一.先去百度识别官网注册开通服务且获得ak和sk 链接:https://cloud.baidu.com/doc/Reference/s/9jwvz2egb 二.代码模板 import cv2 impo ...

  9. python调用百度api判断两张图片是否相同_python如何调用百度识图api

    一.先去百度识别官网注册开通服务且获得ak和sk 二.代码模板 import cv2 import base64 import requests import numpy as np import t ...

  10. 百度识图原理分析 推测其发展方向…

    百度识图原理分析 推测其发展方向 2010年12月13日,百度推出相似图片搜索功能-百度识图(shitu.baidu.com),常规的图片搜索,是通过输入关键词的形式搜索到互联网上相关的图片资源,而百 ...

最新文章

  1. 关于ASP无组件上传在2003下出错
  2. hdu 4419 Colourful Rectangle (离散化扫描线线段树)
  3. mysql 启动、重启、kill脚本
  4. python写前端图形界面_如何Tkinter模块编写Python图形界面
  5. android 打印kernel log,android8.0 kernel4.9.44 各层log打开
  6. DM9000调试记录
  7. 【JS 逆向百例】W店UA,OB反混淆,抓包替换CORS跨域错误分析
  8. css比较特殊选择器汇总(持续更新)
  9. 互联网原理和html基础,计算机网络基础知识习题及答案(八)
  10. 自动论文生成器 python_python生成器
  11. Flutter打包安卓提示请使用 -Xlint:deprecation 重新编译、请使用 -Xlint:unchecked 重新编译
  12. ios手机怎么连接adb命令_没有 mac 的福音,windows 下对 ios 进行操作 (类似 android 的 adb 操作)...
  13. Android(java方法)上实现mp4的分割和拼接 (一)
  14. 【体系结构】Oracle表空间的简单理解
  15. itellij jdk多重选择Class JavaLaunchHelper is implemented in both
  16. python做语音识别
  17. JavaScript 判断数组是否为空
  18. Naive Bayes
  19. 微信对账单--每日定时任务获取昨日微信支付账单
  20. react中使用lazy函数进行路由懒加载

热门文章

  1. OpenCV:灰度图转伪彩色图
  2. RHEL7CentOS7 (精简操作指令)
  3. 利用Fiddler下载旧版本 iOS App
  4. 易文档-快速编写专业漂亮的API文档,产品文档,使用手册
  5. 计算椭圆运动轨迹的算法
  6. 网络操作系统项目教程----Windows server 2003篇----打印机安装与配置
  7. scanf 详解 - 你所不知道的scanf用法
  8. 给新建属性设置自己需要的快捷键
  9. 扫描仪 无线 打印服务器,树莓派搭建网络打印机 扫描仪服务器
  10. 基于C/C++的实现p2p功能