(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
希望有所帮助!
谷歌搜索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=
的问题谢谢!但我如何使用自定义搜索,如果我需要进行大量的搜索,而不是100或更多一点? (“API每天提供100个搜索查询”http://code.google.com/apis/customsearch/v1/overview.html) – Yosef 2010-11-07 15:15:30
如果您需要更多信息,您可以增加它。你将需要一个有效的理由。它看起来像谷歌正在从websearch api开始追踪更多。对不起,我不能给你一个简单的答案,但实际上没有其他办法。即使您使用cURL使用代理来获取数据并将其解析出来,Google仍然会阻止您。 – Matt 2010-11-07 15:56:41
非常感谢你! (你确定谷歌会阻止我,如果我将使用cURL +代理?) – Yosef 2010-11-07 17:03:50