Фев
20
2013
20
2013
PHP /
Анализ сайта, проверка тИЦ, позиции в Яндекс и Google на php.
Существует множество сайтов-сервисов по проверке Seo-статуса сайта, проверке позиции в Яндекс и Google, наличия сайта в каталогах, статуса Яндекс тИЦ и Google PR.
А так ли сложено самому написать подобный сервис, сегодня покажу вам как написать подобный сервис за пару часов.
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" > <h2>Seo анализ сайта</h2> <br> <label >Адрес сервера http://</label> <input type="text" name="address" value="" size="36" /> <br> <input class="button default" type="submit" name="submit" value="Проанализировать"><br> </form> <?php if(isset($_POST['submit'])) { error_reporting(0); $link = $_POST['address']; echo "<h4>Проиндексированные страницы</h4><br>"; // Количество ссылок в Yahoo. $url = 'http://www.alltheweb.com/search?q=site:' . $link; $v = file_get_contents($url); $fill='/\<span id="resultCount">([0-9,]+)\<\/span>/si'; preg_match($fill, $v, $r); echo "<img src='yahoo.png' align='absmiddle'> Yahoo: ".$r[1]."<br>"; // Количество ссылок в Bing. $url = 'http://www.bing.com/search?q=site:' . $link; $v = file_get_contents($url); $fill='/\<span class="sb_count" id="count">(.*?)\<\/span>/si'; preg_match($fill, $v, $r); echo "<img src='bing.png' align='absmiddle'> Bing: ".preg_replace("/[^0-9]/", '', $r[0])."<br>"; // Количество ссылок в Google. $url = 'http://www.google.ru/search?q=allinurl:'.$link.'/+site:' . $link; $v = file_get_contents($url); $fill='/\<div id="resultStats">(.*?)\<\/div>/si'; preg_match($fill, $v, $r); echo "<img src='google.png' align='absmiddle'> Google: ".preg_replace("/[^0-9]/", '', $r[0])."<br>"; // Наличие в каталоге mail.ru. $url = 'http://search.list.mail.ru/?q=' . $link; $v = file_get_contents($url); $fill='/\<b class="i">(.*?)\<\/b>/si'; preg_match($fill, $v, $r); if ($r[0]) {echo "<img src='mail.png' align='absmiddle'>Каталог Mail.ru: Есть<br>";} else {echo "<img src='mail.png' align='absmiddle'>Каталог Mail.ru: Нет<br>";}; // Наличие в каталоге Yahoo. $url = 'http://dir.search.yahoo.com/search?p=' . $link; $v = file_get_contents($url); $fill='/\<span class="refiner_count">(.*?)\<\/span>/si'; preg_match($fill, $v, $r); if ($r[0]) {echo "<img src='yahoo.png' align='absmiddle'> Каталог Yahoo: Есть<br>";} else {echo "<img src='mail.png' align='absmiddle'>Каталог Yahoo: Нет<br>";}; // Определение Alexa Traffic Rank. $url = 'http://www.alexa.com/siteinfo/'.$link; $v = file_get_contents($url); $fill='/\<div class="data up">(.*?)\<\/div>/si'; preg_match($fill, $v, $r); $tou = preg_replace("/[^0-9]/", '', $r[0]); echo "<img src='alexa.png' align='absmiddle'> Alexa Traffic Rank: ".substr($tou, 1)."<br>"; // Определение Яндекс тИЦ. $url = 'http://'.$link; $str=file('http://bar-navig.yandex.ru/u?ver=2&show=32&url='.$url); if ($str==false) {$ans=false;} else {$is_find=preg_match("/value=\"(.\d*)\"/", join("",$str), $tic); if ($is_find<1) {$ans=0;} else {$ans=$tic[1];} } echo "<img src='yandex.png' align='absmiddle'> Яндекс тИЦ: ".$ans."<br>"; echo "<br><h4>Ip адреса сайта</h4><br>"; // Определение IP адресов сервера. $parsed_url = parse_url( $url); foreach(gethostbynamel($parsed_url['host']) as $ip) echo "<img src='ip.png' align='absmiddle'> ".$ip, "\n"."<br>"; } ?>
Как видите довольно просто, сначала получаем содержимое страницы php функцией file_get_contents в виде одной строки, далее выполняем проверку на соответствие регулярному выражению функцией preg_match. И выводим на экран. Вот и все! Если вас заинтересовала статья или хотите продолжения пишите мне!