Ejemplo n.º 1
0
 def _get_json(self, source):
     escaped_source = quote(source, '')
     req = request.Request(
         url=("http://translate.google.com/translate_a/single?"
              "client=t&ie=UTF-8&oe=UTF-8&dt=t&sl=%s&tl=%s&q=%s&tk=%s") %
         (self.from_lang, self.to_lang, escaped_source, calc_tk(source)),
         headers={'User-Agent': 'Mozilla/5.0'})
     r = request.urlopen(req)
     return r.read().decode('utf-8')
Ejemplo n.º 2
0
 def _get_json(self, source):
     escaped_source = quote(source, '')
     req = request.Request(
             url=("http://translate.google.com/translate_a/single?"
                  "client=t&ie=UTF-8&oe=UTF-8&dt=t&sl=%s&tl=%s&q=%s&tk=%s"
                  ) % (self.from_lang, self.to_lang, escaped_source, calc_tk(source)),
             headers={'User-Agent': 'Mozilla/5.0'})
     r = request.urlopen(req)
     return r.read().decode('utf-8')
Ejemplo n.º 3
0
    def _get_json(self, source):
        escaped_source = quote(source, '')
        req = request.Request(
                url=("http://translate.google.com/translate_a/single?"
                     "client=t&ie=UTF-8&oe=UTF-8&dt=t&sl=%s&tl=%s&q=%s&tk=%s"
                     ) % (self.from_lang, self.to_lang, escaped_source, calc_tk(source)),
                headers={'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5)\
                 Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729)'})

        # 绑定ip
        # ip_add = all_ips[random.randint(0, len(all_ips)-1)]
        # socket.socket = make_bound_socket(ip_add)

        r = request.urlopen(req)

        return r.read().decode('utf-8')
Ejemplo n.º 4
0
            trunks[-1] += (' ' if trunks[-1][-1] in ',.;' else '') + sen
            continue
        arr = []
        tmp = ''
        for w in re.split(' ', sen):
            if len(tmp) + 1 + len(w) < 200:
                tmp += (' ' if tmp else '') + w
            else:
                arr.append(tmp)
                assert len(w) < 200, 'word too long'
                tmp = w
        arr.append(tmp)
        trunks.extend(arr)
    return trunks


if tts == '1':
    f = NamedTemporaryFile(delete=False)
    for text in split_trunks(text):
        r = request.Request(url=('http://translate.google.com/translate_tts'
                                 '?tl=%s&ie=UTF-8&client=t&tk=%s&q=%s') %
                            (ttslang, calc_tk(text), quote(text, '')),
                            headers={
                                'User-Agent': 'Mozilla/5.0',
                                'Referer': 'https://translate.google.com/'
                            })
        f.write(request.urlopen(r).read())
    f.close()
    os.system('afplay ' + f.name)
    os.unlink(f.name)
Ejemplo n.º 5
0
    trunks = []
    for idx, sen in enumerate(sentences):
        if trunks and len(trunks[-1]) + 1 + len(sen) < 200:
            trunks[-1] += (' ' if trunks[-1][-1] in ',.;' else '') + sen
            continue
        arr = []
        tmp = ''
        for w in re.split(' ', sen):
            if len(tmp) + 1 + len(w) < 200:
                tmp += (' ' if tmp else '') + w
            else:
                arr.append(tmp)
                assert len(w) < 200, 'word too long'
                tmp = w
        arr.append(tmp)
        trunks.extend(arr)
    return trunks

if tts == '1':
    f = NamedTemporaryFile(delete=False)
    for text in split_trunks(text):
        r = request.Request(
                url=('http://translate.google.com/translate_tts'
                     '?tl=%s&ie=UTF-8&client=t&tk=%s&q=%s') % (ttslang, calc_tk(text), quote(text, '')),
                headers={'User-Agent': 'Mozilla/5.0',
                         'Referer': 'https://translate.google.com/'})
        f.write(request.urlopen(r).read())
    f.close()
    os.system('afplay ' + f.name)
    os.unlink(f.name)