Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Парсинг логов

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: нужна помощь
formatphp
Отправлено: 15 Апреля, 2010 - 23:00:58
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Апр. 2010  


Помог: 0 раз(а)




Логи Апатч
CODE (htmlphp):
скопировать код в буфер обмена
  1. 67.218.116.162 - - [12/Apr/2010:00:10:29 +0400] "GET /t/ru/ir/vt/99-16/02-16.html HTTP/1.1" 404 233 "-" "Mozilla/5.0 (Twiceler-0.9 http://www.cuil.com/twiceler/robot.html)"
  2. 66.249.66.6 - - [12/Apr/2010:00:11:19 +0400] "GET /add/dbanimals/images/ub4.jpg HTTP/1.1" 304 - "-" "Googlebot-Image/1.0"
  3. 66.249.66.6 - - [12/Apr/2010:00:12:02 +0400] "GET /add/old/t/ru/ir/vt/99-21/13.html HTTP/1.1" 304 - "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
  4. 65.55.106.232 - - [12/Apr/2010:00:12:25 +0400] "GET /robots.txt HTTP/1.1" 200 0 "-" "msnbot/2.0b (+http://search.msn.com/msnbot.htm)"


CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2. $x=file ('access_log.1');
  3. while (list ($line_num, $line) = each ($x)) {
  4. preg_match("/([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3})[\S\s]*(\+[0-9]{4})[\S\s]*(http:\/\/[-0-9a-z._]*)/i", $line, $matches);
  5. echo "<b>№_$line_num:</b> ", " ip: {$matches[1]} {$matches[2]} {$matches[3]}<br> " ;
  6. };
  7. ?>

CODE (htmlphp):
скопировать код в буфер обмена
  1. результат:
  2. №_0: ip: 67.218.116.162 +0400 http://www.cuil.com
  3. №_1: ip:
  4. №_2: ip: 66.249.66.6 +0400 http://www.google.com
  5. №_3: ip: 65.55.106.232 +0400 http://search.msn.com
  6. №_4: ip: 66.249.66.6 +0400 http://www.google.com


дали задание в институте, что-то типо анализатора логов, мне нужно распарсить логи апатча и занести их в базу данных, но я не представляю пока как всё это делать.
Вопрос номер 1: регулярные выражения мне в помощь? в правильном я иду направлении для решения своей задачи?
Вопрос номер 2: почитал форум, прочитал немного по php, накидал, может не грамотно, регулярки для вывода какой либо информации, но если что-то отсутствует не выводиться вся строчка. Подскажите напрямую как это пофиксить? Надо показать хоть какой либо результат преподавателю Недовольство, огорчение, и Посоветуйте пожалуйста более узкое направление в изучении литературы, что мне понадобиться для моей задачи.


заранее спасибо.

(Отредактировано автором: 16 Апреля, 2010 - 00:06:42)

 
 Top
movEAX
Отправлено: 16 Апреля, 2010 - 14:09:59
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009  


Помог: 16 раз(а)




formatphp пишет:
Вопрос номер 1: регулярные выражения мне в помощь? в правильном я иду направлении для решения своей задачи?

Скажем так, это самый простой способ.
formatphp пишет:
Вопрос номер 2: почитал форум, прочитал немного по php, накидал, может не грамотно, регулярки для вывода какой либо информации, но если что-то отсутствует не выводиться вся строчка. Подскажите напрямую как это пофиксить? Надо показать хоть какой либо результат преподавателю Недовольство, огорчение, и Посоветуйте пожалуйста более узкое направление в изучении литературы, что мне понадобиться для моей задачи.

Какого типа строка должна быть на выходе? Другими словами, что нужно спарсить?
В плане литературы, если речь идет о регэкспах, можно взять книгу издательства O'Relly "Регулярные выражения".


-----
армия.. самое убогое место
 
 Top
formatphp
Отправлено: 16 Апреля, 2010 - 23:48:50
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Апр. 2010  


Помог: 0 раз(а)




к сожалению или к счастью не знаю, знакомый сделал всё с импортом в БД. за 20 минут
вод регулярка если кому пригодиться:

CODE (htmlphp):
скопировать код в буфер обмена
  1. '/^(\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}).+\[(.+)\].+"GET (.+) HTTP\/\d\.\d" (\d{3}).+ "(.+)"$/'
 
 Top
JustUserR
Отправлено: 18 Апреля, 2010 - 19:35:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




formatphp пишет:
Вопрос номер 1: регулярные выражения мне в помощь? в правильном я иду направлении для решения своей задачи?
Как вариант можно было сделать соответствующий анализатор на Perl - где существует множество готовых модулей для анализа разных типов логов


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Регулярные выражения »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB