在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
由于很多程序代码由JAVA实现(JSP),我还是利用一点时间做了一个java版本的,本人在JAVA方面还是入门的程度,期间,查了一些资料,虽然程序比较短,但是还是比较淘气的。 和上一话所说的利用JAVA获取URL的内容,这篇的技术实现获取,然后正则匹配结果,就完成了。看代码: 复制代码 代码如下: //javac GoogleTranslator.java -encoding utf-8 import java.io.InputStream; import java.net.URLEncoder; import java.util.regex.*; public class GoogleTranslator{ public String getUrlContent(String path){ String rtn = ""; int c; try{ java.net.URL l_url = new java.net.URL(path); java.net.HttpURLConnection l_connection = (java.net.HttpURLConnection) l_url.openConnection(); l_connection.setRequestProperty("User-agent","Mozilla/4.0"); l_connection.connect(); InputStream l_urlStream = l_connection.getInputStream(); while (( ( c= l_urlStream.read() )!=-1)){ int all=l_urlStream.available(); byte[] b =new byte[all]; l_urlStream.read(b); rtn+= new String(b, "UTF-8"); } //Thread.sleep(2000); l_urlStream.close(); }catch(Exception e){ e.printStackTrace(); } return rtn; } public String GetText(String Src){ String Os=null; try{ String pUrl="http://translate.google.com/translate_t?langpair="+URLEncoder.encode("zh-CN|en","utf-8")+"&text="+URLEncoder.encode(Src,"gb2312") ; String pageContent =getUrlContent(pUrl); if(!isNullOrEmpty(pageContent)){ Os= GetMatchString(pageContent,"(<div id=result_box dir=\"ltr\">)([?:\\s\\S]*?)</div>",2); } }catch(Exception e){ e.printStackTrace(); } return Os; } private boolean isNullOrEmpty(String param) { return param == null || param.trim().length() == 0; } public String GetMatchString(String text,String pattern,int point){ Pattern p = Pattern.compile(pattern); Matcher m = p.matcher(text); if(m.find()) { return m.group(point); //匹配第1项 } return null; } public static void main(String[] args){ GoogleTranslator obj=new GoogleTranslator(); System.out.println(obj.GetText("cjjer是Java天才")); } }; 然后保存为GoogleTranslator.java,然后使用: 复制代码 代码如下: javac GoogleTranslator.java -encoding utf-8 编译了,然后JAVA一下就可以了。 |
请发表评论