|
|
Ответов: 0
|
25-02-12 07:01
|
|
|
|
Ответов: 0
|
16-01-12 20:13
|
|
|
|
Ответов: 1
|
09-01-12 11:23
|
|
   Web - программирование
|
|
|
   Программирование под ОС
|
|
|
   Web - технологии
|
|
|
   Базы Данных
|
|
|
|
Web - программирование / PHP /
| |
| | |
Возможно вас заинтересует
|
|
Собственная статистика поисковых слов (Яндекс, Рамблер, Google,...) на PHP
В этой статья я бы хотел поделиться с вами своей новой разработкой – анализатором поисковых запросов с популярных поисковых систем, посмотреть, что это такое, и как работает можно здесь (http://wm-help.net/?module=word-stat). Поначалу данный анализатор поисковых запросов я писал исключительно для своих нужд, но по просьбам пользователей уже успевших посетить данную страницу решил написать статью и дать исходник PHP-класса, на котором основывается вся система статистики поисковых запросов из поисковых систем.
И так, основным источником информации служит переменная $HTTP_REFERER, в которой содержится ссылка на страницу, с которой пришли к вам на сайт. А так же переменная $_SERVER['REQUEST_URI'], в которой указан полный путь к текущей странице. Благодаря этим данным и работает данный класс, из $HTTP_REFERER мы получаем поисковый запрос, страницу результатов поиска и поисковый сервер. А из $_SERVER['REQUEST_URI'] точную ссылку на то, куда попал посетитель по данному запросу.
Основная сложность в разработке и реализации данного PHP-класса заключается в том, что каждый поисковый сервер использует свои названия для переменных, в которых содержатся все сведения о запросе пользователя (текст запроса, страница в результатах выдачи, другие параметры). Поэтому есть единственно правильное решение – писать для каждой поисковой системы свой анализатор поисковых запросов, отсюда и сложности – в мире существует более 50 популярных поисковых систем, а сколько их существует вообще – никто не знает.
Еще одной проблемой является невозможность получения точной страницы результатов поиска, т.к. количество ссылок в выдаче поисковой системы пользователь может определять сам, поэтому можно узнать только приблизительную страницу результатов поиска.
К проблемам можно еще отнести особенности некоторых поисковых систем, например Google и MSN – используют у себя UTF-8, а Яндекс – KOI8-R (при поиске не на первой странице результатов).
Несмотря на все сложности, которые описаны выше, у меня получился класс для более-менее корректного анализа поисковых запросов для следующих поисковых систем:
* Яндекс (http://yandex.ru/)
* Рамблер (http://rambler.ru/)
* Mail.Ru (http://go.mail.ru/)
* Апорт (http://aport.ru/)
* Google – со всех доменов (http://google.ru/)
* Yahoo (http://yahoo.com/)
* MSN (http://search.msn.com/)
* Aol
PHP-класс SearchWordимеет следующую структуру:
class SearchWord
{
var $SearchSite ; // Адрес поисковика
var $SearchWord ; // Поисковый запрос (фраза по которой вас нашли)
var $SearchRefer ; // Ссылка на страницу, откуда пришли
var $SearchRPage ; // Ссылка на страницу куда попали
var $SearchPage ; // Номер страницы в результатах выдачи (примерно)
var $SearchTime ; // Время обращения к вашему сайту
function Yandex_str ( $str ) // анализатор для Яндекса
{ … }
function Rambler_str ( $str ) // для Рамблера
{ … }
… // функции анализа других поисковиков
function Msn_str ( $str ) // для MSN
{ … }
function SearchWords ( $SRefer , $SPage , $STime ) // производит анализ
{ … }
function SearchWordsFromClass ( $SSW ) // производит анализ, получая все данные из класса SaveSearchWord (смотрите ниже)
{ … }
function Load ( $arr ) // загружает сохраненный результат анализа из массива (для ведения статистики)
{ … }
}
Класс SaveSearchWord – для хранения запросов к сайту:
class SaveSearchWord
{
var $SRefer ; // Откуда пришли
var $SPage ; // Куда попали
var $STime ; // Время обращения к вашему сайту
function Load ( $arr ) // загрузка значений из массива
{
$this -> SRefer = trim (@ $arr [ 0 ]);
$this -> SPage = trim ( "http://" . $_SERVER [ 'HTTP_HOST' ]. trim (@ $arr [ 1 ]));
$this -> STime = trim (@ $arr [ 2 ]);
}
function Set ( $SRefer , $SPage , $STime ) // установка значений
{
$this -> SRefer = trim ( $SRefer );
$this -> SPage = trim ( $SPage );
$this -> STime = trim ( $STime );
}
}
Для того, что бы понять, как пользоваться классом SearchWord создадим небольшой PHP-скрипт, в котором реализуем базовые возможности данного класса:
<? php
include 'word-stat.class.php' ;
if (isset( $HTTP_REFERER )) // установлена ли переменная $HTTP_REFERER
{
$new_record = new SaveSearchWord (); // Создание нового экземпляра класса SaveSearchWord
$new_record -> Set ( $HTTP_REFERER , $_SERVER [ 'REQUEST_URI' ], time ()); // Установка значений
$word_stat = new SearchWord (); // Создание нового экземпляра класса SearchWord
$word_stat -> SearchWordsFromClass ( $new_record ); // Анализ значений
if ( strlen ( $word_stat -> SearchWord )> 2 ) // Если длинна поискового запроса больше двух
{
echo "<pre>" ;
print_r ( $word_stat ); // Пачать всех значений объекта
echo "</pre>" ;
}
}
?>
Скачать PHP-класс данного анализатора поисковых запросов можно по ссылке: http://wm-help.net/download/word-stat.class.php.zip
Посмотреть, как работает статистика, основанная на данном классе: http://wm-help.net/?module=word-stat
Последние статьи: Web - программирование / PHP /
| |
| | |
Библиотека GTK+ прошла долгий путь развития и сейчас очень популярна. GNOME, одна из ведущих оконных сред, использует GTK+ почти исключительно, GIMP построен на GTK+, множество коммерческих разработчиков ПО, таких как Abobe, NVidia и VMware, решили использовать эту библиотеку в качестве графической основы для своих продуктов... подробнее
|
Кол. просмотров: общее - 5667 сегодня - 0
|
|
Slashdot.org – популярный новостной портал с посещаемостью 50 млн. человек в месяц. Авторы проекта добились такого успеха, предоставляя пользователям свежие и интересные новости из мира IT... подробнее
|
Кол. просмотров: общее - 5580 сегодня - 0
|
|
Здесь рассматривается вопрос, что бывает, если запустить некий скрипт почти одновременно (что происходит, например, при большой нагруженности сервера) несколько раз, т.е. запустить несколько копий одного и того же скрипта. И к чему это может привести... подробнее
|
Кол. просмотров: общее - 5329 сегодня - 0
|
|
...и снова о спаме. Кто о нем только не писал, и все писали, что это плохо и ай-яй-яй. Я не буду оригинальничать, и тоже скажу – это плохо. Это ай-яй-яй. Как бороться со спамерами со своей стороны... подробнее
|
Кол. просмотров: общее - 5377 сегодня - 0
|
|
Эта статья даст вам общее представление о том, как создавать, обрабатывать и выводить рисунки в PHP4 для Windows... подробнее
|
Кол. просмотров: общее - 5372 сегодня - 0
|
|
|
|