远程抓取GOOGLE的自动翻译结果

2016-02-19 20:13 6 1 收藏

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享远程抓取GOOGLE的自动翻译结果吧。

【 tulaoshi.com - Web开发 】

 1        Function RemoveHTML()Function RemoveHTML(strhtml)
   2            if strhtml"" then
   3                 dim s_str as string
   4                     s_str=regex.replace(strHTML,"[^]+","")
   5                     s_str=replace(s_str," ","")
   6                     return s_str
   7            end if
   8        End Function
   9       
  10        Function china_to_english()Function china_to_english(texts,languages)
  11            Dim payload As String = "hl=zh-CN&ie=UTF8&text="& texts &"&langpair="& languages &""
  12            dim str_return as string 
  13            Dim req As WebRequest = WebRequest.Create("http://translate.google.com/translate_t") ' 开始取连接.
  14            req.Credentials = CredentialCache.DefaultCredentials       '取得默认
  15            req.Method = "POST"                                        '以POST方式发送,这里默认是以GET方式发送
  16            req.ContentType = "application/x-www-form-urlencoded"      'POST方式需在传送这个编码,如果上传文件,则修为multipart/form-data
  17            req.timeout=10000                                          '连接超时定时
  18            req.ContentLength = payload.Length                         '头部长度
  19            Dim encoding As Encoding = Encoding.GetEncoding("UTF-8")   '转换成流,大部网站一般转换成UTF-8就可以了,注意是大写的编码
  20            Dim bytes As Byte() = Encoding.GetBytes(payload)           '转换成流
  21            req.ContentLength = bytes.Length                           '传送流的长度
  22            Dim newStream As Stream = req.GetRequestStream()           '转换写入
  23            newStream.Write(bytes, 0, bytes.Length)                    '写入传送流
  24            newStream.Close()                                          '关闭
  25            '上面发送完成,下面取得服务器返回
  26            Dim res As HttpWebResponse = CType(req.GetResponse(), HttpWebResponse)  ' 传递返回标识
  27            if res.StatusDescription="ok" then  ' 返回取得状态.
  28               current.response.write("暂时无法连接到网站,请换用另一个程序")
  29               current.response.end()
  30            end if
  31            Dim dataStream As Stream = res.GetResponseStream()         ' 返回给指针
  32            Dim reader As New StreamReader(dataStream,encoding.getencoding("gb2312")) ' 读
  33            Dim responseFromServer As String = reader.ReadToEnd()      ' 读取所有
  34           
  35            str_return=responseFromServer                              '赋值回传
  36           
  37            reader.Close()                                             '接下来三个关闭
  38            dataStream.Close()
  39            res.Close()
  40
  41            dim ss as string = str_return
  42            ss = regex.replace(ss,"(?i:(.+)(div)(.+)()(.+)(/div)(.+))","$5") '提取我们所要的译文
  43            ss = RemoveHTML(ss)                                       '删除HTML
  44            ss = ss.substring(3)                                      '删除翻译二字
  45            return ss                                                 '函数返回
  46    End function
  47       
  48    在调用china_to_english(texts,languages)需要传两个参数第一个为要译的文字,第二个是要进行相对译的语种代码.
     例:中译英,其第二个参数为:zh-Cn|en
     我导入的命名空间如下:
  Imports System
  Imports System.Web
  Imports System.IO
  Imports Microsoft.VisualBasic
  Imports System.Web.HttpContext
  Imports System.Web.UI
  Imports System.Web.UI.WebControls
  Imports System.Text
  Imports System.Text.RegularExpressions
  Imports System.Net

来源:http://www.tulaoshi.com/n/20160219/1623061.html

延伸阅读
标签: 办公软件
朋友在用Excel统计学生的成绩时,在E63单元格中输入公式:=AVERAGE(E3:E62),准备计算平均分,由于上面的单元格中还没有输入成绩数据,因而公式返回了一个错误结果(如图1)。朋友问我,如何让这些错误结果不显示或打印出来呢?我向他介绍了下面三种方法。 图1一、函数处理法我们只要用IF和ISERROR函数对公式稍作处理,这个错误值就不再显示出...
标签: SQLServer
  往往经常有这样的需求,我需要在查询的结果中添加一列类似于Identity的数字,虽然在Client编程中并不难实现,但是有时我想留用现有的Class,不希望在Client side做额外的coding,那么就只有在Sql里面想办法了 首先介绍一种用一条SQL语句完成的办法,原理是在结果中查询大于等于该纪录的纪录条数,就可以得到它的Rank了 Example: USE pub...
一、实现本地自动备份数据库很简单: 1.以root身份登陆 2.计划任务(每天的3:30自动执行 /usr/bin/mysqlbackup) crontab 0 3:30 * * * /usr/bin/mysqlbackup 3.写一个自动备份数据库脚本 vi /usr/bin/mysqlbackup #!/bin/bash mv /home/.../db_bak5.tgz /home/.../db_bak6.tgz mv /home/.../db_bak4.tgz /home/.../db_bak5.tgz mv /hom...
《辐射:新维加斯》废土远程角色加点方案(翻译版) VH+HC 剧情流,需要感知和魅力。也需要基佬之友和女性杀手。 男性 10级加 Nerd Rage! PERK,所以初始力量设为1。 潜行暴击流。所以初期VATS相关PERK不点。 属性 力量:1    感知:7    体力:4    魅力:6    智力:10 ...
标签: 电脑入门
在Word中可以进行一些简单的数据计算,以Word2007为例,只要切换到布局选项卡,在数据命令组中单击展开公式按钮,选择相应的函数命令即可。用好这项功能,虽然对提高工作效率如虎添翼,但是如果忘记更新的话,也会拖后腿,这是因为Word和Excel不一样,是以域的形式进行计算,也就是更改了Word中的表格数据后,数据并不会自动计算并更新,必须要...

经验教程

571

收藏

56
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部