« domainsdb йок? | Feed Analysis: инструмент для блоггеров »
Недавно я писал, откуда можно взять готовую базу дмоза и что парсер ДМОЗа писать не нужно. Но учитывая размер этой базы, отдальной проблемой может быть парсинг самой базы. При попытке зачитать в память файл размером 2 гига, мой апач умирает смертью храбрых.
Напишу как эту базу можно распарсить, прошу учесть что некоторые функции (выделены жЫрным шрифтом) надо дописать отдельно, так что это не готовый парсер, а псевдокод, но превратить его в готовый код очень легко:
function ParseDMOZ2()
{
$fRes = GetDataFile(‘dmoz.links’, ‘/’); // сюда будут собираться ссылки
$fName = GetDataFile(‘content.rdf.u8′, ‘/’); // это хмл файл с базой
$str = ”;
$pos = 0;
$lim = 1024 * 1024 * 4;
for ($i = 0; $i < 1000; $i++)
{
$str .= flocked_read($fName, $lim, $pos); // (имя, сколько читать, с какой позиции)
$len = strlen($str);
if (0 == $len)
break;
$pos += $len;
$htt = explode(‘”http://’, $str);
$cnt = count($htt);
$str = ”;
for ($x = 1; $x < $cnt - 1; $x++)
{
$tmp = StripBefor(GetParamArr($htt, $x, ”), ‘”‘); // что делают функции понятно из их названия
$str .= “http://$tmp\r\n”;
}
flocked_append($fRes, $str);
if (2 > $cnt)
$str = ”;
else
$str = GetParamArr($htt, $cnt - 1, ”);
}
}
P.S.: По партнерке RengoDating появилась интересная статья на тему работы с датинг трафом, подробно рассматривают способы работы с дейтинг трафиком и нюансы его конвертации.
8 Responses
March 27th, 2008 at 17:45:21
// php gravatar() ?>1дык есть уже давно парсер
http://www.freephpdirectoryscript.com/ODP/
робит только в путь!
March 27th, 2008 at 18:14:50
// php gravatar() ?>2Это не тот парсер.
Моя функция просто все ссылки вытаскивает и складывает в файл.
March 28th, 2008 at 08:30:53
// php gravatar() ?>3а зачем тебе апача для чтения файлов – хоть убей не пойму. командную строку отменили ?
March 31st, 2008 at 13:42:53
// php gravatar() ?>4Alex, а ты какую среду используешь для разработки на php?
Сорри за небольшой оффтоп.
March 31st, 2008 at 14:22:45
// php gravatar() ?>5Обычный старенький Zend Development Environment.
March 31st, 2008 at 18:57:28
// php gravatar() ?>6А зачем мой комент удалил? Мне реально интересно что можно почерпать из списка ссылок сайтов находящихся в DMOZ. Есть варианты что добавлять в свои сетки для уменьшения палевности. Может контент тырить. Диз…. маловероятно. Скатывать целиком и делать зеркала… смысла нет. Что ещё?
March 31st, 2008 at 19:07:12
// php gravatar() ?>7хочу в Сочи, удалил потому что посчитал ссылочным спамом. Сайты из дмоза ценны сами по себе, потому что там их достаточно много и они отобраны вручную, то есть процент мусора там маленький.
April 2nd, 2008 at 09:52:12
// php gravatar() ?>8С точки зрения человека – да, там мало мусора. Но с точки зрения парсера – там сплошной мусор. Это – ж не библиотека конгресса.
Ладно, я понял что ты юзаешь эту базу и это приносит некоторые плоды. Следовательно наводить на мысль о интересном использовании не будешь. Пасиб всё равно
RSS feed for comments on this post · TrackBack URI
Написать комментарий
Про что писал
Календарь
Куйворды
Архив
Подписка на блог
Статистика подписки
Страницы
Комментарии
Последние посты
Blogroll
Счётчики
Свежие записи
Последние комментарии
Интересное на блоге
Самое комментируемое
SEO блог где палят темы is proudly powered by WordPress - BloggingPro theme modified by alexf