百度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/c++与函数有关的优化

    一.函数调用的优化 调用函数需要对内存进行多次访问,因此对函数的调用通常很费时,容易造成程序效率低下: 在函数调用过程中,如果每一次函数的调用结果都相同且需要多次调用时,可以将几次调用的结果进行多次累 ...

  2. PHP的两种表单数据提交方式

    1 通过隐藏表单提交 //通过隐藏表单提交 if ($_POST['action'] == 'register'){ echo '你提交了数据'; exit(); } ?> <!DOCTY ...

  3. Python爬虫Scrapy框架入门(2)

    本文是跟着大神博客,尝试从网站上爬一堆东西,一堆你懂得的东西 附上原创链接: http://www.cnblogs.com/qiyeboy/p/5428240.html 基本思路是,查看网页元素,填写 ...

  4. Something about pip in Python

    学习python爬虫框架scrapy的时候,用到pip管理工具来安装scrapy.最直观的感受,pip有点类似于Ubuntu下的apt-get工具,几行代码,自动下载.安装相关的东西.网上查了一些背景 ...

  5. [BI项目记]-搭建代码管理环境之服务端

    上一篇介绍如何搭建环境进行文档版本的管理,这篇主要介绍搭建环境进行代码版本的管理. 即使是BI项目也要进行代码版本管理.代码版本管理的工具有很多,VSS, SVN等都是当下大家经常提起的,这里主要介绍 ...

  6. 滚动div至底部

    document.getElementById("chat").scrollTop=document.getElementById("chat").scroll ...

  7. C之按位运算符

    http://www.cnblogs.com/Kazaf/archive/2012/03/19/2406006.html

  8. [IDEA] 快捷键学习

    IntelliJ Idea 常用快捷键列表   Alt+回车 导入包,自动修正Ctrl+N   查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L  格式化代码 Ctrl+Alt+O 优化导 ...

  9. Eclipse调试 : step into,step over,step return 说明

    step into : 单步执行,遇到子函数就进入并且继续单步执行(F5) step over:   在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完在停止,也就是把 ...

  10. Struts2文件上传与下载

    一,页面 index.html 在页面中最重要的就是这个文件上传用的 form 表单,注意这里一定要把 form 的encyType属性明确标定为“multipart/form-data”,只有这样. ...