如何使用谷歌搜索查询PHP?(How to use Google Search query in P

2019-10-22 11:00发布

我尝试使用谷歌搜索查询我的网站,我需要得到网站的网址,我发送到查询的文本,代码工作正常的成果有限,但随后停止一段时间后工作,也许谷歌禁用它的一些时间?

下面是代码:

        $cleanQuery = str_replace(" ","+",$text);
        $url = 'http://www.google.com/search?q='.$cleanQuery;
        $scrape = file_get_contents($url);

$文本,而搜索用户输入的文本。 但问题是,它仅适用于一段时间,然后停止。

工作示例: http://www.alleffort.com/tools/findurl.php

如果您在文本区域输入一些文字,然后提交就应该检索所有相关信息,但它不工作。

Answer 1:

该问题可能是要附加到URL字符串:

 $cleanQuery = str_replace(" ","+",$text);

这并不正确准备字符串查询字符串的使用,你需要的不仅仅是空间编码更多的字符。

相反,你应该使用urlencode()

$cleanQuery = urlencode($text);


Answer 2:

此代码最有可能帮助您解决问题

 <?php $xmlDoc=new DOMDocument(); $xmlDoc->load("links.xml"); $x=$xmlDoc->getElementsByTagName('link'); //get the q parameter from URL $q=$_GET["q"]; //lookup all links from the xml file if length of q>0 if (strlen($q)>0) { $hint=""; for($i=0; $i<($x->length); $i++) { $y=$x->item($i)->getElementsByTagName('title'); $z=$x->item($i)->getElementsByTagName('url'); if ($y->item(0)->nodeType==1) { //find a link matching the search text if (stristr($y->item(0)->childNodes->item(0)->nodeValue,$q)) { if ($hint=="") { $hint="<a href='" . $z->item(0)->childNodes->item(0)->nodeValue . "' target='_blank'>" . $y->item(0)->childNodes->item(0)->nodeValue . "</a>"; } else { $hint=$hint . "<br /><a href='" . $z->item(0)->childNodes->item(0)->nodeValue . "' target='_blank'>" . $y->item(0)->childNodes->item(0)->nodeValue . "</a>"; } } } } } // Set output to "no suggestion" if no hint was found // or to the correct values if ($hint=="") { $response="no suggestion"; } else { $response=$hint; } //output the response echo $response; ?> 



文章来源: How to use Google Search query in PHP?