(PHP)如何解析谷歌搜索结果中的网址?

问题描述:

如何获取谷歌搜索结果的网址?(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()函数? (或其他更好的代码)

感谢

结束时,你试图寻找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

谷歌搜索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