0

我只需要 dmoz/ODP 文件中的 URL。但该文件是 RDF。如何从 odp 文件中仅获取 url?我想提取文本文件中的所有 url。

任何人都知道任何脚本只解析 rdf 文件中的 url 吗?

4

3 回答 3

2

一些流行的 SemWeb API(Jena、Sesame 和 dotNetRDF)都为 RDF 文件提供了完全流式处理的 API,因此您可以编写一个自定义数据处理程序,该处理程序只会获取生成的 URI 并丢弃您不感兴趣的其余内容.

您可能可以用 perl 做一些 hacky,它可能会更快,但它可能并不完全准确,特别是如果 RDF 使用需要解析的相对 URI

于 2011-11-01T03:52:06.563 回答
1

也许是这样的呢?

#!/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 的内容打印到文本文件中。

于 2011-10-31T22:46:36.207 回答
1

选项 1. 从http://sourceforge.net/projects/dmoz2mysql/files/latest/download下载 dmoz_v3.zip 。这是一个 PHP 脚本,用于自动解析 DMOZ RDF 数据转储文件。它具有下载文件、提取、清理、解析和插入数据到 MySQL 数据库的功能。

选项 2. 使用以下链接查找从 RDF 转储文件中提取 URL 的工具

http://www.dmoz.org/Computers/Internet/Searching/Directories/Open_Directory_Project/Use_of_ODP_Data/Upload_Tools/

于 2013-06-19T10:00:06.957 回答