我只需要 dmoz/ODP 文件中的 URL。但该文件是 RDF。如何从 odp 文件中仅获取 url?我想提取文本文件中的所有 url。
任何人都知道任何脚本只解析 rdf 文件中的 url 吗?
一些流行的 SemWeb API(Jena、Sesame 和 dotNetRDF)都为 RDF 文件提供了完全流式处理的 API,因此您可以编写一个自定义数据处理程序,该处理程序只会获取生成的 URI 并丢弃您不感兴趣的其余内容.
您可能可以用 perl 做一些 hacky,它可能会更快,但它可能并不完全准确,特别是如果 RDF 使用需要解析的相对 URI
也许是这样的呢?
#!/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 的内容打印到文本文件中。
选项 1. 从http://sourceforge.net/projects/dmoz2mysql/files/latest/download下载 dmoz_v3.zip 。这是一个 PHP 脚本,用于自动解析 DMOZ RDF 数据转储文件。它具有下载文件、提取、清理、解析和插入数据到 MySQL 数据库的功能。
选项 2. 使用以下链接查找从 RDF 转储文件中提取 URL 的工具