展会信息港展会大全

asp.net实现调用百度api 在线翻译英文转中文
来源:互联网   发布日期:2016-01-27 15:28:19   浏览:4702次  

导读:注册个百度apikeyhttp: developer baidu com wiki index php?title=%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3%E9%A6%96%E9%A1%B5 %E7%99%BE%E5%BA%A6%E7%BF%BB%E8%AF%91API然后代码如下只看红色部分就可以了:using ...

注册个百度apikey

http://developer.baidu.com/wiki/index.

php?title=%E5%B8%AE%E5%8A%A9%E6%96%87%E6%A1%A3%E9%A6%96%E9%A1%B5/%E7%99%BE%E5%BA%A6%E7%BF%BB%E8%AF%91API

然后代码如下只看红色部分就可以了:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.Script.Serialization;

using System.Text.RegularExpressions;

namespace Fangyi

{

public partial class _Default : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

GSEntities db = new GSEntities();

for (int i = 740; i < 900000; i++)

{

try

{

System.Threading.Thread.Sleep(100);

GetUrl("http://www.52mvc.com/story/love/" + i + ".html",db); //采集

}

catch (Exception ex)

{

System.Threading.Thread.Sleep(1500);

}

}

db.Dispose();

}

private void GetUrl(string url, GSEntities db)

{

content cc = new content();

string apikey = "WqLOfG9o2VS1lriX4mz3mDj8";

var enstr = GetHtml.getHtml(url, null);

var title = Regex.Match(enstr.Replace("n",""), @"<font style=""font-size: 18px; font-weight: bold;"">(.+?)</font>").Groups[1].Value;

enstr = Regex.Replace(enstr, @"r|n", "");

enstr = ReHtml(enstr);

enstr = Regex.Match(enstr, @"双击或拖选)(.+?)

").Groups[1].Value;

var atitle = GetHtml.getHtml("http://openapi.baidu.com/public/2.0/bmt/translate?client_id="

+ apikey + "&q=" + title + "&from=auto&to=auto", null);

JavaScriptSerializer jss2 = new JavaScriptSerializer();

var aa2 = jss2.Deserialize<jsonss>(atitle);

title = aa2.trans_result.First().dst;

enstr = enstr.Trim();

string val = "tt";

if (enstr.Length < 2000)

{

int i = 0;

var list = enstr.Replace(" ", "").Replace(""", " ").Split('.').ToList();

list.ForEach(c =>

{

var a = GetHtml.getHtml("http://openapi.baidu.com/public/2.0/bmt/translate?client_id="

+ apikey + "&q=" + c + "&from=auto&to=auto", null);

JavaScriptSerializer jss = new JavaScriptSerializer();

var aa = jss.Deserialize<jsonss>(a);

val += aa.trans_result.First().dst + "。";

++i;

if (i % 5 == 0)

{

System.Threading.Thread.Sleep(15000);

val += "ntt";

}

System.Threading.Thread.Sleep(1000);

});

cc.title = title;

cc.val = val;

db.content.AddObject(cc);

db.SaveChanges();

}

}

public string ReHtml(string HTML)

{

string pattern = @"<[sS]*?>";

Regex regex = new Regex(pattern);

HTML = regex.Replace(HTML, "");

return HTML;

}

//中文转为UNICODE字符 forget never

public string ctu(string str)

{

string outStr = "";

if (!string.IsNullOrEmpty(str))

{

for (int i = 0; i < str.Length; i++)

{

//将中文字符转为10进制整数,然后转为16进制unicode字符

outStr += "u" + ((int)str[i]).ToString("x");

}

}

return outStr;

}

//UNICODE字符转为中文

public string utc(string str)

{

string outStr = "";

if (!string.IsNullOrEmpty(str))

{

string[] strlist = str.Replace("", "").Split('u');

try

{

for (int i = 1; i < strlist.Length; i++)

{

//将unicode字符转为10进制整数,然后转为char中文字符 asp.net

outStr += (char)int.Parse(strlist[i], System.Globalization.NumberStyles.HexNumber);

}

}

catch (FormatException ex)

{

outStr = ex.Message;

}

}

return outStr;

}

}

}

赞助本站

人工智能实验室

相关热词: 百度 api 在线翻译 net

相关内容
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港