3

我正在尝试抓取一个德语网站,我需要将抓取的数据从德语转换为英语。现在,我所做的是我已经访问了第三方网站来为我做这个过程。在此,我附上了我尝试过的代码,如下所示:

from bs4 import BeautifulSoup, SoupStrainer
import urllib2
import urllib
import re
import sys
import string
import json
import socket


def translate(text_to_translate):
    base_url = 'http://translate.reference.com/german/english/'
    join_url = base_url + text_to_translate
    request = urllib2.Request(join_url)
    response = urllib2.urlopen(request)
    soup = BeautifulSoup(response)
    result = soup.find('textarea', {'placeholder': 'Translation'})
    converted_text = result.string
    return converted_text


text = "damen uhren"
text1 = re.sub('\s+', '-', text)
title_new = translate(text1)
print "Original String = ", text
print "Converted String = ", title_new

有没有办法在不访问第三方网站的情况下将德语字符串转换为英语?是的,请指导我完成这个。

4

2 回答 2

5

您可以使用 goslate(谷歌翻译 python api)。首先,在终端中,$pip install goslate

  import goslate
  gs = goslate.Goslate()
  new_word = gs.translate('my german sentence', 'de')
于 2015-05-02T07:04:35.490 回答
4

goslate 已经承认了谷歌翻译引入的票务系统。

“谷歌最近更新了它的翻译服务,增加了票证机制,以防止像 goslate 这样的简单爬虫程序访问。虽然更复杂的爬虫在技术上仍然可以工作,但它会跨越使用服务和破坏服务之间的界限。goslate不会更新打破google的售票机制,免费午餐结束,感谢使用。

http://pythonhosted.org/goslate/

你可能对 py-translate 有一些运气。我不知道提供的翻译有多准确。很可能它使用字典。

https://pypi.python.org/pypi/py-translate

于 2016-07-19T22:58:52.460 回答