在PHP脚本中检查Google搜索结果的数量

在PHP脚本中检查Google搜索结果的数量,php,search,google-api,google-search,phrase,Php,Search,Google Api,Google Search,Phrase,是否可以使用谷歌API检查PHP脚本中某个短语的谷歌搜索结果数量?我很好奇这是否能以某种方式实现。如果是,我该怎么办 编辑 好的,根据drakin8564建议,这是我的职责: function google(String $text) { // create curl resource $ch = curl_init(); // set url curl_setopt($ch, CURLOPT_URL, 'https://

是否可以使用谷歌API检查PHP脚本中某个短语的谷歌搜索结果数量?我很好奇这是否能以某种方式实现。如果是,我该怎么办

编辑

好的,根据drakin8564建议,这是我的职责:

function google(String $text) {

        // create curl resource 
        $ch = curl_init(); 

        // set url 
        curl_setopt($ch, CURLOPT_URL, 'https://www.google.com/search?q="'.$text.'"'); 

        //return the transfer as a string 
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 

        libxml_disable_entity_loader(false);
        // $output contains the output string 
        $output = curl_exec($ch); 

        $xml = new DOMDocument();

        $xml->loadHTMLFile($output);

        $string = $xml->getElementById('resultStats');

        $string = str_replace('Około ', '', $string); 
        $string = str_replace(',', '', $string);
        $results = intval($string);

        if($results>0) {

            curl_close($ch);            
            return true; 
        } else {
        curl_close($ch);     
        return false;
        // close curl resource to free up system resources 
        } 
        } 
注:“Około”在波兰语中的意思是“关于”,我还有一个警告:

Warning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity "<!doctype html><html itemscope="" itemtype="http://schema.org/SearchResultsPage" lang="pl"><head><meta content="text/ in C:\xampp2\htdocs\file.php on line 19

不幸的是,存在一个问题,因为这两个示例都会导致“search results exist”输出,而“7dsa8dsaza”的结果不存在。如何修复它?

我不知道用谷歌API怎么做,但是你可以卷曲到{your+search+words}

您应该能够使用DomDocument将html放入对象中。结果的估计数位于id为=“resultStats”的div中

使用php curl函数的示例:

DomDocument的文档,在评论部分有一些示例:

编辑:仅从resultStats元素获取数字的示例:

$string = "About 214,000,000 results (0.41 seconds)"; 
$string = str_replace('About ', '', $string); 
$string = str_replace(',', '', $string);
$results = intval($string);

你能给我看一些代码吗?因为我不知道你到底在说什么。我添加了一些文档链接。DomDocument是一个内置的php类,可用于将html或xml解析为对象。Curl用于向指定的url发送请求并检索响应。在这种情况下,来自google的Curl响应将是google搜索页面的html。很抱歉,我是初学者。我以前从未听说过cURL和DomDocument。您能为我的问题提供一些代码和实现的解决方案吗?我上面链接的页面中的第一个curl示例应该使用您请求的url,而不是“example.com”。将$output设置为curl_exec()的返回值后,创建一个DomDocument()实例,如下所示:$xml=new DomDocument();然后将$output变量传递到DomDocument函数loadHTMLFile()中,如下所示:$xml->loadHTMLFile($output);然后可以调用$xml->getElementById('resultStats');这将为您提供div的内容,它近似于搜索结果的数量。
$string = "About 214,000,000 results (0.41 seconds)"; 
$string = str_replace('About ', '', $string); 
$string = str_replace(',', '', $string);
$results = intval($string);