Как извлечь только URL из файла Dmoz ODP (в RDF)
Мне нужны только URL из файла dmoz/ODP. Но файл находится в RDF. Как я могу получить только URL-адреса из файла odp? Я хочу извлечь все URL-адреса в текстовом файле.
Кто-нибудь знает какой-либо скрипт для парсинга только URL-адресов из rdf файла?
3 ответа
Может быть как то так?
#!/usr/bin/perl
use strict;
use warnings;
my $file = "kt-content.rdf.u8";
my @urls;
open(my $fh, "<", $file) or die "Unable to open $file\n";
while (my $line = <$fh>) {
if ($line =~ m/<(?:ExternalPage about|link r:resource)="([^\"]+)"\/?>/) {
push @urls, $1;
}
}
close $fh;
А затем распечатайте содержимое @urls в текстовый файл.
Несколько популярных API SemWeb (Jena, Sesame и dotNetRDF) предоставляют полностью потоковые API для файлов RDF, так что вы можете написать собственный обработчик данных, который будет принимать только созданные URI и отбрасывать оставшуюся часть, которая вас не интересует.,
Вы, вероятно, можете сделать что-то взломанное с Perl, и это может быть быстрее, но это может быть не совсем точно, особенно если RDF использует относительные URI, которые необходимо разрешить
Вариант 1. Загрузите dmoz_v3.zip с http://sourceforge.net/projects/dmoz2mysql/files/latest/download. Это скрипт PHP, который используется для автоматического анализа файлов дампа данных DMOZ RDF. Это показывает загрузку файлов, извлечение, очистку, анализ и вставку данных в базу данных MySQL.
Вариант 2. Используйте следующую ссылку, чтобы найти инструменты для извлечения URL-адресов из RDF-файлов дампа.