如何获取Google搜索结果网址?
(我使用Zend_Gdata_Gbase获取搜索谷歌搜索结果,而不是DomDocument / htmlsimpleparser,因为它看起来Zend_Gdata_Gbase专门用于解析谷歌搜索结果。 如果我选择错了,请写信。)
我的功能是获取'yahoo'或其他查询搜索字符串的Google搜索结果: (该函数获取一个应该具有单词'yahoo'的搜索结果的feed,但是当我使用prin_t($ feed)时,我没有看到每个结果的url)
<?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个第一个网址结果(当我在谷歌手动搜索时):
www.yahoo.com,mail.yahoo.com,search.yahoo.com,maps.yahoo.com
但是当我打印$ feed变量时我找不到它们。
请问我应该更改或添加inqueryGoogleSearch()函数? (或其他更好的代码)
由于
答案 0 :(得分: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 他们最近改变了这个。旧的Google搜索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 :(得分:0)
谷歌搜索网址非常简单,我记录了它here for a different reason。当您搜索某些内容时,例如“博客”,您发送的页面为http://www.google.co.uk/search?q=blog。那之后呢?被称为查询字符串(在本例中为q = blog),其中包含我的搜索。修改它将修改谷歌搜索字符串,并返回适当的结果。
对于PHP,您只需要添加到http://www.google.co.uk/search?q=
的末尾