我想编写一个程序,使用谷歌翻译或翻译翻译文本。我的程序从网页获取HTML代码,但此代码不包含内容(翻译文本)。如何在我的浏览器中获得完整的代码(ctrl + shift + i [在firefox中])?
Translate::Translate(TRANSLATOR translator)
{
QNetworkAccessManager *networkManager = new QNetworkAccessManager(this);
if(translator == GOOGLE){
link = "https://translate.google.com/#en/fr/text";
connect(networkManager, SIGNAL(finished(QNetworkReply*)), this,
SLOT(replyFinishedGoogle(QNetworkReply*)));
}
else if(translator == BING){
printf("ups BING doesn't work.\n");
}
networkManager->get(QNetworkRequest(QUrl(link)));
//QDesktopServices::openUrl(QUrl(link));
}
...
void ByGoogle::replyFinishedGoogle(QNetworkReply* pReply)
{
QByteArray data = pReply->readAll();
QString source(data);
printf("%s\n", source.toStdString().c_str());
}
答案 0 :(得分:0)
您的方法存在的问题在于网址。 #
只能被浏览器识别,并触发一些javascript(ajax)代码执行。你应该尝试使用:
translate.google.com/translate_a/t?client=p&text=something&hl=fr&sl=en
但它不会返回html输出。