我正在玩Google Complete API,尋找一種快速方法來獲取各種問題前綴中搜索最多的26個最常用術語 - 每個字母一個字母。使用PHP向Google Complete API發出多個請求時提高了效率
我不會把自己算作程序員,但它看起來像一個有趣的任務!
我的腳本在本地工作正常,但它在我的共享服務器上花費太長時間,並在30秒後超時 - 並且由於共享,我無法訪問php.ini以延長最長執行時間。
這讓我不知道是否有發出請求到API的一個更有效的方法,這裏是我的代碼:
<?php
$prep = $_POST['question'];
for($i=0;$i<26;$i++){
$letters = range('a','z');
$letter = $letters[$i];
$term = $prep . $letter;
if(!$xml=simplexml_load_file('http://google.com/complete/search?output=toolbar&q=' . $term)){
trigger_error('Error reading XML file',E_USER_ERROR);
}
do{
$count = 1;
$result = ucfirst($xml->CompleteSuggestion->suggestion->attributes()->data);
$queries = number_format((int)$xml->CompleteSuggestion->num_queries->attributes()->int);
echo '<p><span>' . ucfirst($letter) . ':</span> ' . $result . '?</p>';
echo '<p class="queries">Number of queries: ' . $queries . '</p><br />';
} while ($count < 0);
}
?>
我還寫道,餵養問題到雅虎問答的幾行API工作得很好,雖然它使結果花費更長時間,但我無法通過API在搜索詞上進行完全匹配,所以我得到了一些奇怪的答案!
基本上,上面的代碼是多次調用API的最有效方式嗎?
感謝,
豐富
我已經做了一些閱讀和聽起來就像只會做的伎倆!感謝詳細的回答:) – RichieAHB