![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 74 Pomógł: 1 Dołączył: 5.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Hej
Chciałem dowiedzieć się w jaki sposób za pomoca php można sprawdzić ilość linków do strony, pozycje w google na dane słowo kluczowe itp. Coś jak http://www.itools.grafway.pl/. W jaki sposób to jest pisane: Google API, Curl ? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 34 Dołączył: 7.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 74 Pomógł: 1 Dołączył: 5.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Hej
Nie chodzi mi o już gotowe rozwiązanie, tylko o jakieś materiały, linki stron, kursy jak napisać samemu takie funkcje do analizy stron. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 144 Pomógł: 25 Dołączył: 2.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Pobierasz stronę wyników wyszukwiania, a następnie wyrażeniami regularnymi pobierasz listę wyświetlonych stron i sprawdzasz czy twoja jest na liście jak nie to pobierasz kolejną stronę...
Możesz też skorzystać z http://code.google.com/intl/pl-PL/apis/ajaxsearch/web.html. W każdym razie będziesz musiał skorzystać z curl, wyrażeń regularnych... Prace zacznij od pobierania wyników wyszukiwania. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 16.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
CODE <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="Description" content="Sprytna aplikacja służąca do sprawdzania pozycji w Google. Pokazuje dokładnie na której pozycji znajduje się witryna. Idealne narzędzie dla pozycjonerów i zainteresowanych SEO." /> <meta name="Keywords" content="sprawdzanie pozycji w Google, SERP, pozycja w Google" /> <title>Sprawdź pozycję swojej witryny - strona główna</title> </head> <body> <center> <h1>Wpisz zapytanie:</h1> <h2>Weź pod uwagę, że wpisanie bądź niewpisywanie www na początku ma znaczenie<br/> - to dla Google zupełnie inna strona.</h2> <h3>(Tak jakbyś wpisywał je w google)</h3> <form action="wyniki.php" method=post> <input type="text" size="80" name="zapytanie" /> <br /> <h3>Twoja strona:</h3> <p><input type="text" size="80" name="uzytkownika" value="http://"/></p> <input type="submit" value="Szukaj" /> </form> </center> </body> </html> CODE <?php $zapytanie = $_POST['zapytanie']; $uzytkownika = $_POST['uzytkownika']; $http_referer = $_SERVER['HTTP_REFERER']; ?> <?php echo "<pre>"; try { require_once("Snoopy.class.php"); if(!require_once("Snoopy.class.php")) { throw new Exception("Wystąpił błąd przy ładowaniu biblioteki.<br> Jeśli chcesz pomóc administracji tej strony, powiadom webmastera.", 1); } } catch (Exception $biblioteka) { echo "<center><h1><strong>Błąd!</strong></h1> <br />".$biblioteka->getMessage()."</center>"; } if($zapytanie == "") { //nie można użyć isset echo "<center><h1><strong>Musisz określić słowa, które wpisałbyś do wyszukiwarki.</h1></strong> <a href=".$http_referer."><button>Powrót do poprzedniej </button></a></center>"; exit; } global $uzytkownika; global $zapytanie; $zapytanie = trim($zapytanie); $uzytkownika = trim($uzytkownika); while(strpos($zapytanie, " ") !== false) { $znak = strpos($zapytanie, " "); $zapytanie[$znak] = "+"; settype($zapytanie, "string"); } //echo $zapytanie; if($uzytkownika !== null) { if(strpos($uzytkownika, "http://") === 0) { $uzytkownika = substr($uzytkownika, 7); } // if(strpos($uzytkownika, "www") === 0) { //opcjonalnie, potem dodać czy z www czy nie // $uzytkownika = substr($uzytkownika, 4); // } } var_dump($uzytkownika); $ktorastrona = 0; function alternatywasnoopy(&$url) { global $linki; $tresci = file_get_contents($url); while(strpos($tresci, 'href="http://') !== false) { $poczatek = strpos($tresci, 'href="http://'); $dalszatresc = substr($tresci, $poczatek+strlen('href="')); $koniec = strpos($dalszatresc, '"'); $linki[] = substr($dalszatresc, 0, $koniec); $tresci = substr($dalszatresc, $koniec); } return $linki; } function wytnij(&$links2, $argument) { foreach($links2 as $klucz => $lacze) { // if ($klucz !== count($links2) - 1) $tablicowystring .= $lacze.".PODZIAL."; // else // $tablicowystring .= $lacze; } if(strpos($tablicowystring, $argument) !== false) { $poczatek = strpos($tablicowystring, $argument); $koniec = strrpos($tablicowystring, $argument); $koniec += strpos(substr($tablicowystring, $koniec), '.PODZIAL.') + strlen('.PODZIAL.'); $tablicowystring2 = substr($tablicowystring, 0, $poczatek); $tablicowystring3 .= substr($tablicowystring, $koniec); $tablicowystring = $tablicowystring2.$tablicowystring3; } $links2 = explode('.PODZIAL.', $tablicowystring); // if(strpos($links2[count($links2)-1], "http://") !== 0) { // array_pop($links2); // } // echo "<br />".count($links2); foreach($links2 as $klucze =>$pozycje) { if($pozycje == "") { array_pop($links2); } } return $links2; } function tylkowartosciowe($linki) { $c = 0; global $links2; for($i=12; $i<count($linki)-9; $i++) { //12 śmieci googla if(strpos($linki[$i], 'http://www.google.pl/imgres?imgurl') === false//koniecznie false, bo może zwrócić zero! && strpos($linki[$i], 'http://www.google.pl/search') === false && strpos($linki[$i], 'http://www.google.pl/url?q=') === false && strpos($linki[$i], 'http://www.google.pl/swr?q=accountants') === false //&& strpos($linki[$i], 'http://video.google.pl/videosearch?hl') === false && strpos($linki[$i], 'http://images.google.pl/images?') === false && strpos($linki[$i], 'http://www.google.pl/language_tools?') === false && strpos($linki[$i], 'http://www.google.pl/search/https://adwords.google.com/') === false //ewentualny śmieć && strpos($linki[$i], "/aclk?sa") === false //google adsense && strpos($linki[$i],'http://translate.google.pl/translate?hl=') === false //?h1= konieczne! coś w stylu tłumacz stronę && !ereg('^[0-9]{2,}[0-9\.]', (substr($linki[$i], strlen('http://'), strpos($linki[$i], '/search?')-strlen('http://'))))) { $links2[$c]=$linki[$i]; $c += 1; } } $links2 = wytnij($links2, 'http://maps.google.pl/maps?'); $links2 = wytnij($links2, 'http://news.google.pl/news'); return $links2; // $GLOBALS['strona']= implode(' ', $links2); } function sprawdz($teraz, &$uzytkownika) { global $kiedy; global $znaleziono; $_GLOBALS['znaleziono'] = false; //koniecznie i koniecznie tutaj foreach($teraz as $pozycja => $lacze) { echo "$lacze<br />"; if((strpos($lacze, $uzytkownika) !== false) && ($_GLOBALS['znaleziono'] != true)) { //$znaleziono - konieczne, żeby nie szukało dalej echo "tak!"; $_GLOBALS['znaleziono'] = true; // var_dump($_GLOBALS['znaleziono']); return $pozycja; exit; } } if($znaleziono !== true) { echo "jestem tutaj"; $kiedy += count($teraz); return false; } } function sortujaca($x, $y) { $strona = $GLOBALS['strona']; if(strpos($strona, $x) < strpos($strona, $y)) { return -1; } else { return 1; } } function kazdastrona($zapytanie, &$uzytkownika = null) { global $kiedy; global $links2; global $linki; global $teraz; $aktualna = 0; settype($aktualna, "string"); do { $url = "http://www.google.pl/search?hl=pl&lr=&client=opera&rls=pl&hs=bdt&q="; $url .= $zapytanie; $url .= "&start="; $url .= $aktualna; $url .= "&sa=N"; $strona = file_get_contents($url); $snupi = new Snoopy; $snupi->fetchlinks($url); $linki = $snupi->results; // alternatywasnoopy($url); //print_r($linki); $teraz = tylkowartosciowe($linki); var_dump($teraz); //var_dump($links2); //var_dump($uzytkownika); usort($teraz, 'sortujaca'); //$teraz = array_unique($teraz); var_dump($teraz); // var_dump(sprawdz($teraz, $uzytkownika)); $kazdastrona += 1; if(sprawdz($teraz, $uzytkownika) !== false) { $wtedy = $kiedy + sprawdz($teraz, $uzytkownika); echo "<h1><center>Twoja pozycja w Google to: ".$wtedy.".</center><br /> <center>Twoja witryna znajduje się na ".$kazdastrona.". stronie wyszukiwań.</h1></center>"; exit; } unset($snupi); settype($aktualna, "integer"); $aktualna += 10; settype($aktualna, "string"); } while(( $_GLOBALS['znaleziono'] !== true) ||(!strpos($strona, "Podana fraza - ") && !strpos($strona, " - nie została odnaleziona."))); } kazdastrona($zapytanie, $uzytkownika); echo "</pre>"; ?> Działa ale z błędami, korzystam z biblioteki Snoopy... Gdzie jest błąd? |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 04:59 |