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')
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')
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')
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)
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)