首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 串接 Google 翻譯 API 實作範例(已棄用舊版爬蟲方式)

     編輯:PHP 綜合知識

早期開發者常透過爬蟲方式呼叫 Google 翻譯網頁版介面來實現免費翻譯功能。以下保留一份經典的 PHP 函數範例供參考,但需特別注意:此方法已失效,Google 早已變更前端架構並加強反爬蟲機制,現代專案請改用官方 Cloud Translation API(付費)或其他成熟翻譯服務。

歷史參考代碼:基於網頁爬蟲的翻譯函數

<?php
/**
 * 早期 Google 翻譯爬蟲實作(僅供教學參考,不可用於生產環境)
 * @param string $text 待翻譯英文文本
 * @return string|false 翻譯結果或失敗
 */
function googleTran($text) {
    if (empty($text)) return "";
    
    // 簡易防封鎖延遲
    sleep(1);
    
    // 目標 URL:舊版 Google 翻譯介面
    $url = 'https://translate.google.cn/translate_t?sl=en&tl=zh-CN&text=' . urlencode($text) . '#';
    $content = @file_get_contents($url);
    
    if ($content === false || empty($content)) {
        return false;
    }
    
    // 移除標籤保留 div,嘗試定位結果區塊
    $content = strip_tags($content, '<div>');
    $start = strpos($content, '<div id="result_box" dir="ltr">');
    if ($start === false) return false;
    
    $end = strpos($content, '</div><div id="clir">', $start);
    if ($end === false) return false;
    
    $result = strip_tags(substr($content, $start, $end - $start));
    
    // 編碼轉換:舊版回傳 GB2312,轉為 UTF-8
    return iconv("GB2312", "UTF-8", trim($result));
}
?>

現代開發建議

  • 官方 API:使用 Google Cloud Translation API,支援 100+ 語言、術語庫、批次翻譯,具備 SLA 保障。
  • 替代方案:DeepL API(翻譯品質極佳)、LibreTranslate(開源自架)、Microsoft Translator。
  • 前端整合:簡單網頁需求可直接嵌入 Google 網站翻譯工具(JS Widget),無需後端開發。

安全提醒: 任何未經授權的大量爬蟲行為均可能違反服務條款,導致 IP 被封鎖或法律風險。生產環境務必使用官方授權管道。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved