Парсилка контента

1 23
N
На сайте с 15.08.2007
Offline
5
#21
Слава Шевцов:
Время чтения с диска либо гиг в секунду, либо не учитывалось. Обычно 2Гб/60Мб/сек ~ 35 сек 🙄

Не знаю, как так получилось... Быть может, система кеширует часто изменяемые файлы, держит в памяти их потоки; быть может, дело в том, что винты SCSI. Может, обе причины. Как бы то ни было, замеры производились не наручными часами, а запуском парсеров через time ;)

Слава Шевцов:
Часто парсите такие логи? 🙄

Постоянно :) Не всегда HTTP (случается и за сквидом следить, к примеру), не всегда двухгигабайтные (бывает и больше, но обычно меньше :)), но очень большие - постоянно.

Слава Шевцов:
PHP работает достаточно быстро. В любом случае строковыми функцими быстрее написать и отладить парсер, чем вспоминать Перл с его трудночитабельным кодом и регулярками. То есть код получится дешевле.

Код у перла нечитабелен только в том случае, если его писать так, как пишут большинство перловщиков. Процедурное программирование, использование пакетов не более чем неймспейсы, названия переменных и подпрограмм а-ля $hz, a(), b(), hz(). Как бы парадоксально это ни звучало, код на перле может быть очень красивым. :)

Слава Шевцов:
Хотя если двухгигабайтный лог надо парсить каждый день, то можно и о Перле подумать. Или о С++ 🚬

...или воспользоваться tail, sed, grep и средствами операционной системы. ;)

Но перл, тем не менее сбрасывать со счётов я бы не стал.

Слава Шевцов
На сайте с 23.07.2005
Offline
370
#22
nopox:
Не знаю, как так получилось... Быть может, система кеширует часто изменяемые файлы, держит в памяти их потоки; быть может, дело в том, что винты SCSI. Может, обе причины. Как бы то ни было, замеры производились не наручными часами, а запуском парсеров через time

Перл настолько суров, что читает с диска 2 Гб за две секунды? 🙄

nopox:
Постоянно :) Не всегда HTTP (случается и за сквидом следить, к примеру), не всегда двухгигабайтные (бывает и больше, но обычно меньше :)), но очень большие - постоянно.

Тогда Вы правы - Вам точно нужен перл с регулярками 🚬

nopox:
Код у перла нечитабелен только в том случае, если его писать так, как пишут большинство перловщиков.

Можно я эту цитату всегда буду приводить PHP-шникам, когда они будут необоснованно нападать на Перл в холивар?

nopox:
Но перл, тем не менее сбрасывать со счётов я бы не стал.

Бесспорно. У него есть своя великолепная ниша. В том числе в парсинге.

Неизменность точки зрения неизменно порождает иллюзию понимания.
N
На сайте с 15.08.2007
Offline
5
#23
Слава Шевцов:
Перл настолько суров, что читает с диска 2 Гб за две секунды? 🙄

Думаю, не в суровости перла дело, а в его умении грамотно и оптимально использовать ресурсы системы. А PHP для CLI слабоват, да

Слава Шевцов:
Можно я эту цитату всегда буду приводить PHP-шникам, когда они будут необоснованно нападать на Перл в холивар?

Можно и даже нужно ;). Я сам, как перловщик с 8-летним стажем пытаюсь это донести до своих собратьев по перу ;). До кого-то даже удаётся достучаться :).

Skom
На сайте с 02.12.2006
Offline
165
#24
_Ad:
ну вот я и хочу посмотреть.. вот в частности на теги типа <p id=949075> или <br id=09374> которые и в оформлении и в контенте встречаются, яндексу пофиг асболютно будет.. а вот парсилка не осилит узнать где нужный кусок.. Логика такая примерно... но я не знаком с парсилками, поэтому интересуюсь как они работают

Ну, это если жёстко привязывать к количеству цифирь в id.

if(eregi("<p id=[0-9]{6}>",$text) || eregi("<br id=[0-9]{5}>",$text))

Если не привязывать.

if(eregi("<p id=[0-9]*>",$text) || eregi("<br id=[0-9]*>",$text))

Я считаю сие неблагодарным занятием.

Ибо, повторюсь, что если захотят стянуть контент - стянут.

У меня тянут постоянно, но я уже забил давно...

Cras amet qui numquam amavit quique amavit cras amet
1 23

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий