爬有道翻译结果免登陆
{:301_973:}因工作需要,在看英/日文文档,愣是看不出所以然{:301_972:}https://static.52pojie.cn/static/image/hrline/4.gif
写了个导入文档自动翻译生成新的文档,其中引用了如下的翻译方法,目前我自己测试是没什么限制
已知支持英汉互译,理论上支持各种外文译中,自测,我没需求,就没测试
就几行代码,写的不优雅,但确实可用,自己看吧,老规矩,单纯分享,大佬勿喷,谢谢啦~
附图:
代码:
package org.example;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
public class Main {
public static void main(String[] args) {
// 待翻译的关键词
String kerWord = "如果你有梦想的话,就必须捍卫它。那些一事无成的人总是想告诉你,你也成不了大器。如果你有理想的话,就要去努力实现。";
String url = "http://m.youdao.com/translate"; // 构建搜索URL
HttpRequest request = HttpRequest.post(url).form("inputtext", kerWord);
HttpResponse response = request.execute();
// 翻译结果的起始和结束文本
String startText = "<ul id=\"translateResult\">\n <li>";
String endText = "</li>\n </ul>";
String text = response.body();
// 获取翻译结果的起始和结束位置
int startIndex = text.indexOf(startText) + startText.length();
int endIndex = text.indexOf(endText);
// 判断是否找到翻译结果,并输出翻译结果
if (startIndex != -1 && endIndex != -1 && startIndex < endIndex) {
String middleText = text.substring(startIndex, endIndex);
System.out.println("翻译结果为:" + middleText);
} else {
System.out.println("未找到匹配的起始和结束文本");
}
}
}
Python 版本:
```python
from bs4 import BeautifulSoup as bs
from requests import post
def translate(s):
r = post("http://m.youdao.com/translate", data={"inputtext": s})
r.encoding = r.apparent_encoding
soup = bs(r.text, "html.parser")
ele = soup.find("ul", {"id": "translateResult"})
if ele:
li = ele.find("li")
if li:
return li.text
return ""
print(translate("hello"))
``` 很棒啊! java的爬虫可以试试jsoup,很ok 三滑稽甲苯 发表于 2023-12-15 17:05
Python 版本:
```python
厉害啊简洁明了 膜拜啊,大佬,学习一下 已经不错了,我都写不出来 可以破解有道会员吗 感谢分享 ..谢谢 FruitBaby 发表于 2023-12-15 17:02
java的爬虫可以试试jsoup,很ok
好的学习学习谢谢
页:
[1]
2