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