百度API:xlongwei

这个人提供的接口很多啊,也很实用:Word转Html、Word转Pdf、属性配置、手机号段、微信公众号消息加密、微信公众号消息解密、二维码、关键词、分词、拼音、生僻字、微博短链接。但是很多都不感兴趣的,除了一个,那就是中文分词啊。以前某天突然对浏览器以及编辑器中的鼠标双击事件直接选中词组或者一段数字很好奇。然后问群里人,群里说是中文分词,之后看书(应该是《暗时间》)也无意看到。还扯出了开始思考好多巧合不是巧合的未解决的心理问题。虽然现在的知识以及技术对自然语言还无法处理,但是用接口感受一下还是不算过分吧。

1.Word转Html、Word转Pdf

【选择Word文档】触发file类型的input的click事件(代码里面用了jquery,也可以直接用js写这块就不用引入jq文件了)。然后点转换,执行上传+转换。最后的链接就是本服务器存储的来自API的处理文件

 <html>
<head><meta charset="utf-8">
<script type="text/javascript" src="./js/jquery-1.8.2.min.js"></script>
<script type="text/javascript">
$(function(){
$('#wordx').click(function(){
$('#file').click();
});
});
</script>
</head>
<body>
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file" style="display:none"/>
<input type="button" id="wordx" value="选择Word文档">
<br />
<input type="submit" name="submit" value="WORD转Html" />
</form>
</body> </html>
<?php
$maxSize=5*1024*1024;//5M
if(!isset($_FILES["file"]["error"])){
exit;
}
if($_FILES["file"]["error"] > 0){
echo "Error: " . $_FILES["file"]["error"] . "<br />";
exit;
}else{
/* echo "Upload: " . $_FILES["file"]["name"] . "<br />";
//echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Stored in: " . $_FILES["file"]["tmp_name"].'<br/>';
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";*/ $suffix=substr(strrchr($_FILES["file"]["name"], '.'), 1);
if($suffix!='doc' && $suffix!='docx'){
echo '只允许doc和docx格式word文件';
exit;
}
if($_FILES["file"]["size"]>$maxSize){
echo '大于'.$maxSize/(1024*1024).'Mb';
exit;
} $name=date('YmdHis',time()).rand(1000,10000).'.'.$suffix;//拼接文件名
if (file_exists("upload/" . $name)){
echo $_FILES["file"]["name"] . " already exists. ";
exit;
}else{
$domain=$_SERVER['SERVER_NAME'];
$status=move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $name);
//echo "Stored in: " . "upload/" . $name;
$url="http://{$domain}/api/upload/{$name}";
if ( (!file_exists ("upload/{$name}")) || !$status){
echo '上传失败';
exit;
}else{
//echo "<a href='{$url}'>上传成功</a><br/>";
//echo "上传成功<br/>";
} //Word转Html $ch = curl_init();
$url = 'http://apis.baidu.com/xlongwei/open/doc2html?url='.$url;
$header = array(
'apikey:百度API密钥',
);
curl_setopt($ch, CURLOPT_HTTPHEADER , $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 执行HTTP请求
curl_setopt($ch , CURLOPT_URL , $url);
$res = curl_exec($ch);
$data=json_decode($res,true);
//var_dump($data);
$htmlurl=NULL;
if(isset($data['domain'])&&isset($data['path'])){
$htmlurl=$data['domain'].$data['path'];
$name=$name=date('YmdHis',time()).rand(1000,10000).'.html';
$status=copy($htmlurl,"html/" . $name);//网络链接的文件不能用move_uploaded_file,用了copy可以
if($status){
$htmlurl="http://{$domain}/api/html/{$name}";
}else{
//echo '挪动出错';
//exit;
}
echo "<a href='$htmlurl'>Html转换完成</a>"; }else{
echo '服务器错误,请重试。';
exit;
}
}
}
?>

Word转Html完整代码

Pdf类似,只是接口处有不同。感觉效果还蛮好的嘛。肯定了,又不是相反的接口。

2.二维码

我的神器海螺呢,还想问问二维码什么原理呢。

3.中文分词

Ansj中文分词 这是一个ictclas的java实现.

好棒,这分词。之后顺便把拼音也嵌入到分词中去。

其中单字有多音字就会有好几个音,比如这个吃(chi ji)、吐(tu3 tu4),所以判断存不存在header(header 是拼音的首拼)然后空格分割取第一个(因为看到第一个大多数比较准确且自己也分辨不出第几个是最好的啊)就OK。

挑一个BUG:不了了之 bulelezhi,为什么不加成语字典呢。

[4]xlongwei工具类的更多相关文章

  1. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

  2. Android—关于自定义对话框的工具类

    开发中有很多地方会用到自定义对话框,为了避免不必要的城府代码,在此总结出一个工具类. 弹出对话框的地方很多,但是都大同小异,不同无非就是提示内容或者图片不同,下面这个类是将提示内容和图片放到了自定义函 ...

  3. [转]Java常用工具类集合

    转自:http://blog.csdn.net/justdb/article/details/8653166 数据库连接工具类——仅仅获得连接对象 ConnDB.java package com.ut ...

  4. js常用工具类.

    一些js的工具类 复制代码 /** * Created by sevennight on 15-1-31. * js常用工具类 */ /** * 方法作用:[格式化时间] * 使用方法 * 示例: * ...

  5. Guava库介绍之实用工具类

    作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文是我写的Google开源的Java编程库Guava系列之一,主要介 ...

  6. Java程序员的日常—— Arrays工具类的使用

    这个类在日常的开发中,还是非常常用的.今天就总结一下Arrays工具类的常用方法.最常用的就是asList,sort,toStream,equals,copyOf了.另外可以深入学习下Arrays的排 ...

  7. .net使用正则表达式校验、匹配字符工具类

    开发程序离不开数据的校验,这里整理了一些数据的校验.匹配的方法: /// <summary> /// 字符(串)验证.匹配工具类 /// </summary> public c ...

  8. WebUtils-网络请求工具类

    网络请求工具类,大幅代码借鉴aplipay. using System; using System.Collections.Generic; using System.IO; using System ...

  9. JAVA 日期格式工具类DateUtil.java

    DateUtil.java package pers.kangxu.datautils.utils; import java.text.SimpleDateFormat; import java.ut ...

随机推荐

  1. C# Async与Await的使用

    这个是.NET 4.5的特性,所以要求最低.NET版本为4.5. 看很多朋友还是使用的Thread来使用异步多线程操作,基本上看不见有使用Async.Await进行异步编程的.各有所爱吧,其实都可以. ...

  2. python3安装

    yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel ...

  3. MySQL通过增加用户实现远程连接数据库

    命令行进入mysql.exe所在目录 mysql -uroot -padmin 例子: grant all privileges on *.* to joe@localhost identified ...

  4. (转)nginx优化 实现10万并发访问量

    转自http://www.cnblogs.com/pricks/p/3837149.html 一般来说nginx配置文件中对优化比较有作用的为以下几项:worker_processes 8;1 ngi ...

  5. HBASE列族不能太多的真相 (一个table有几个列族就有几个 Store)

    HRegionServer内部管理了一系列HRegion对象,每个HRegion对 应了table中的一个region,HRegion中由多 个HStore组成.每个HStore对应了Table中的一 ...

  6. python IOError: [Errno 0] Error

    Windows系统下,此异常在以'a+'模式打开文件,读文件,再写入过程中出现.其原因在于读写交替过程中必须要有fflush, fseek, fsetpos, rewind这类操作,不然python就 ...

  7. handler内存泄露

    原因: 在Activity中新建一个Handler后,Handler执行计时操作,如果Activity销毁,Handler是不会主动销毁的,而且会占用Activity的空间,不使其回收,积累久了就会内 ...

  8. 《DSP using MATLAB》示例Example5.15

    代码: x1 = [1,2,2]; x2 = [1,2,3,4]; y1 = circonvt(x1,x2,5); % N = 5 n1 = 0:1:length(x1)-1; n2 = 0:1:le ...

  9. nodejs review-01

    lesson lesson-code 05 Run your first web server 使用curl //指定方法;显示header信息 curl -X GET -i localhost:30 ...

  10. 给MySQL增加mysql-udf-http和mysql-udf-json自定义函数,让MySQL有调用http接口和查询直接回JSON的能力

    1.安装mysql-udf-httpyum install -y libcurl*下载地址:http://pan.baidu.com/s/1nuYZqR3tar zxvf mysql-udf-http ...