V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
ty10086
V2EX  ›  Python

调用 Google 付费翻译 API 翻译整个 html 网站,这个有人搞过吗?

  •  
  •   ty10086 · 2019-02-16 12:21:48 +08:00 · 2040 次点击
    这是一个创建于 2107 天前的主题,其中的信息可能已经有所发展或是发生改变。

    html 是用 Wget 拉取整个网站下来储存在 VPS 上。 Wget 渲染可能不是最好。 调用 Google 付费翻译 API 翻译整个 html 网站,这个有人搞过吗?(不用破解或免费 api ) 翻译方向:英文->中文 翻译整站,整站关键字 /专业术语替换,这个有什么好的思路吗?愿意求好心人大神思路指点一二,感激不尽。

    7 条回复    2019-02-20 12:39:34 +08:00
    xy2401
        1
    xy2401  
       2019-02-16 12:30:43 +08:00
    目前我是 在 Google 译者工具包 里面一个一个 html 文件上传翻译。里面你可以上传制定自己都专业术语翻译。
    但是批量没有 。而且翻译后 部分 链接 和 css 也变了 还要手动调整
    mark 我也好强 有什么 好都方案
    wbrobot
        2
    wbrobot  
       2019-02-16 13:07:16 +08:00
    谷歌翻译有个 js 的 api,直接在页面里面引用一个 js,就会翻译文字部分。
    lbuzhi
        3
    lbuzhi  
       2019-02-16 13:42:04 +08:00
    以前一个项目使用过 google 翻译的那个 js 的 api ( 2 楼说的那个),根据需要去定制需要翻译的语言,然后页面上引入,即可做到用户点击按钮,翻译整个页面或部分页面。
    ninestep
        4
    ninestep  
       2019-02-17 10:20:05 +08:00
    我弄过,是下载下来后把所有标签全部过滤,翻译完了再拼接回去,不过我是用的百度翻译,穷,还是好几个密钥循环来的
    tadtung
        5
    tadtung  
       2019-02-17 14:43:44 +08:00 via Android
    前两年曾经见过有把隔壁 hostloc 整站反代并用 api 实时翻译的。
    ty10086
        6
    ty10086  
    OP
       2019-02-18 18:31:21 +08:00
    @xy2401
    @wbrobot
    @lbuzhi
    @ninestep
    @tadtung
    我摸索了几个月,也搭建了测试站。1、通过 wget xxx.com+参数,整个目标站点全部镜像为 html,可以不镜像 pdf、zip、rar 等大文件。唯一问题,有的 js 不能很好渲染,比如 js 类型的菜单、ajax 的页面点击会有错误、点击无动作执行。(话说除了 wget 有啥更好的渲染工具?)
    接着调用 google translate api 翻译(付费的,100 万字符 /20 美金),是可以翻译的,自动不翻译 html 标签。但是如果整个站点翻译需要切片 5000 字符分割段落,并组合回去不知道如何弄。有达人会的话,请赐教,能搞的话我外包,做一个长期的技术支持顾问。
    2、尝试用 python 全站渲染后爬取的思路,也是切片与组合回去的问题。
    3、tadtung 大兄弟说的反代,挺想试试的。不过看起来有法儿将翻译后内容储存起来并开放么。不用实时翻译,毕竟专业术语还要全局替换下。
    我相信这个是一个刚需,还请各位大兄弟讨论下献计~
    ninestep
        7
    ninestep  
       2019-02-20 12:39:34 +08:00
    @ty10086 你 js 出现问题我感觉是因为你将标签也翻译了导致的,其实解决方法很简单就是通过正则将所有标签内的文字取出来然后翻译,google 没用过,百度返回的时候是会把原来的句子也返回的,所以可以用简单的文本替换再组装回去。这样做有两个问题,第一个是类似于`<h5>正在咨询<span>的人数 </span></h5>`这种“正在咨询”和“的人数”是两个句子,破坏了语义,可能导致翻译有偏差,另一个是正则太过复杂,推荐使用一些 html 解析库完成。
    整体的解决方案方面我推荐你只是抓数据,再找人仿一个站这样来。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1303 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:55 · PVG 01:55 · LAX 09:55 · JFK 12:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.