Как получить полный список сайтов из DMOZ ?
Никогда не задавались подобным вопросом? Я получал полный список сайтов из каталога DMOZ не один раз, и т.к. мне сегодня он снова понадобился, я решил создать пост на эту тему.
По адресу rdf.dmoz.org всегда лежал дамп базы DMOZ в XML формате. Там все структурировано, и теоретически можно выдрать ссылки только скажем тематики «строительство» или «блоги», но мне нужны все. Для этого понадобится файл content.rdf.u8.gz (около 350 МБ). Скачиваем его, распаковываем и следуем дальнейшей инструкции.

А дальнейшая инструкция такая: берем вот этот скрипт
<?php
// Не прерывать скрипт в течение суток
set_time_limit(3600*24);
// Открываем DMOZ-овский файл на чтение
if( $f = fopen('content.rdf.u8','r') ){
// Создаем файл, куда будем записывать сайты
if( $w = fopen('sites.txt','w') ){
while( !feof($f) ) {
$line = fgets($f,4096);
if( preg_match('/<link\s*r:resource="(.+?)"\s*\/>/',$line,$out) ){
fwrite($w,$out[1] . "\n");
}
}
fclose($w);
}
fclose($f);
}
?>


