2010-11-01 132 views
2

如何獲取谷歌搜索結果的網址?(PHP)如何解析谷歌搜索結果中的網址?

(我用Zend_Gdata_Gbase對於GET搜索谷歌的結果,而不是的DomDocument/htmlsimpleparser因爲它看來,我認爲Zend_Gdata_Gbase解析谷歌的結果特地來完成。 ,如果我錯了,我的選擇,請寫。)

我函數來獲取谷歌搜索結果爲'雅虎'或其他查詢搜索字符串: (該函數獲得應該有詞'雅虎'的搜索結果的飼料,但是當我使用prin_t($飼料)我沒有看到網址對於每個結果)

<?php  
function queryGoogleSearch($queryString='yahoo'){ 
      $service = new Zend_Gdata_Gbase(); 
      $query = $service->newSnippetQuery(); 
      $query->setBq('['.$queryString.']'); 
      $query->setOrderBy('modification_time'); 
      $query->setSortOrder('descending'); 
      $query->setMaxResults('4'); 
      $feed = $service->getGbaseSnippetFeed($query); 
      return $feed; 
    } 
    print_r(queryGoogleSearch()); 
?> 

我得到4個第一url結果(當我在谷歌手動搜索):

www.yahoo.com,mail.yahoo.com,search.yahoo.com,maps.yahoo.com

但我做不到當我打印$ feed變量時找不到它們。

請問我應該更改或添加inqueryGoogleSearch()函數? (或其他更好的代碼)

感謝

回答

5

結束時,你試圖尋找google.com。看起來這個類是針對Google Base的,而不是google.com的搜索引擎。 http://base.google.com/support/bin/answer.py?hl=en&answer=59260

您可能想要這樣:http://code.google.com/apis/customsearch/v1/overview.html 他們最近剛剛改變了這一點。舊的谷歌搜索API已於11月1日起棄用。自定義搜索是新的API。

沒有Zend就很簡單。

http://code.google.com/apis/customsearch/v1/using_rest.html#WorkingResults

有PHP中的JSON解碼器。 http://php.net/manual/en/function.json-decode.php

希望有所幫助!

+1

的問題謝謝!但我如何使用自定義搜索,如果我需要進行大量的搜索,而不是100或更多一點? (「API每天提供100個搜索查詢」http://code.google.com/apis/customsearch/v1/overview.html) – Yosef 2010-11-07 15:15:30

+0

如果您需要更多信息,您可以增加它。你將需要一個有效的理由。它看起來像谷歌正在從websearch api開始追蹤更多。對不起,我不能給你一個簡單的答案,但實際上沒有其他辦法。即使您使用cURL使用代理來獲取數據並將其解析出來,Google仍然會阻止您。 – Matt 2010-11-07 15:56:41

+0

非常感謝你! (你確定谷歌會阻止我,如果我將使用cURL +代理?) – Yosef 2010-11-07 17:03:50

0

谷歌搜索URL是相當簡單的,我記錄它here for a different reason。當你谷歌的東西,例如'博客'你發送到的頁面是http://www.google.co.uk/search?q=blog。那之後呢?被稱爲查詢字符串(在本例中爲q = blog),其中包含我的搜索。修改此操作將修改Google搜索字符串,並返回相應的結果。

至於PHP,你只需要添加的http://www.google.co.uk/search?q=

+1

謝謝,但您的回答與我的問題有何聯繫? – Yosef 2010-11-01 15:31:00

+1

您的標題:「(PHP)如何獲得谷歌搜索結果的網址?」問題文字:「如何獲得谷歌搜索結果的網址?」,「我的功能讓谷歌搜索結果爲'雅虎'或其他查詢搜索字符串」。如果我誤解了你的問題,你已經暗示了你的想法,我很抱歉。 – 2010-11-01 15:33:06

+0

好吧,我無法從$ feed變量獲得谷歌搜索結果 – Yosef 2010-11-01 15:40:36