2013-09-29 51 views
0

如何找到我在PHP上的關鍵字位置?如何找到關鍵字在谷歌上的位置與PHP

我想這個網址:

http://www.google.com/url?sa=t&source=web&ct=res&cd=7&url=http%3A%2F%2Fwww.example.com%2Fmypage.htm&ei=0SjdSa-1N5O8M_qW8dQN&rct=j&q=flowers&usg=AFQjCNHJXSUh7Vw7oubPaO3tZOzz-F-u_w&sig2=X8uCFh6IoPtnwmvGMULQfw

,但我無法得到任何的HTML源代碼。

我該怎麼做?

+0

如何https://github.com/mtasuandi/PHPGoogleKeywordPosition/ –

+0

感謝的答案,但我想,它運作不好。 我正在尋找書面課程或其他等 –

+0

僅供參考,那*是*書面課程。 –

回答

0

也許你應該只用於此用途寫的一類,例如this one on github

+0

我剛剛嘗試過,它有500內部服務器錯誤 http://sozlerin.org/php/key/ –

+0

不客氣。 –

+0

@AmalMurali抱歉,在寫作時沒有看到您的評論。 – Jaroslav

2

我使用這個腳本我做了。 因爲它依賴於可能來自谷歌改變HTML時,它是不可靠的,但確實它的工作現在:

<?php 

    // Include the phpQuery library 
    // Download at http://code.google.com/p/phpquery/ 
    include("phpQuery-onefile.php"); 

    $country = "en"; 
    $domain = "stackoverflow.com"; 
    $keywords = "php google keyword rank checker"; 
    $firstnresults = 50; 

    $rank = 0; 
    $urls = Array(); 
    $pages = ceil($firstnresults/10); 
    for($p = 0; $p < $pages; $p++){ 
     $start = $p * 10; 
     $baseurl = "https://www.google.com/search?hl=".$country."&output=search&start=".$start."&q=".urlencode($keywords); 
     $html = file_get_contents($baseurl); 

     $doc = phpQuery::newDocument($html); 

     foreach($doc['#ires cite'] as $node){ 
      $rank++; 
      $url = $node->nodeValue; 
      $urls[] = "[".$rank."] => ".$url; 
      if(stripos($url, $domain) !== false){ 
       break(2); 
      } 
     } 
    } 

    print "Country: ".$country."\n"; 
    print "Domain: ".$domain."\n"; 
    print "Keywords: ".$keywords."\n"; 
    print "Rank: ".$rank."\n"; 
    print "First urls:\n"; 
    print implode("\n", $urls)."\n"; 

?> 
+0

你能告訴我如何解析一個域的兩個或三個關鍵字嗎? – kuchar

+0

使關鍵字成爲一個數組並循環:'$ keywords = Array(「php google關鍵字等級檢查器」,「解析一個域的兩個或三個關鍵字」);' 'foreach($關鍵字作爲$關鍵字){' 'for($ p = 0; $ p <$ pages; $ p ++){' '$ baseurl =「https://www.google.com/search?hl=".$country."&output=search&start=」 。$ start。「&q =」。urlencode($ keyword);' ... '}' 'print「域:」。$ domain。「\ n」;' 'print「關鍵字:」。$關鍵字「\ n」;' 'print「Rank:」。$ rank。「\ n」;' – Olivier

+0

我試過了代碼,它工作正常。我改變了參數並找到了我的排名。我刷新頁面,排名下降!我再次嘗試了原始代碼,它不再有效。對我來說,谷歌正在感知頁面請求並採取行動。任何意見? – Cymro