我只需要dmoz/ODP文件中的URL。但是这个文件是RDF格式的。如何从odp文件中只获取url?我想把所有的网址提取到一个文本文件中。
有人知道有什么脚本可以只解析rdf文件中的urls吗?
发布于 2011-11-01 06:46:36
那就像这样吧?
#!/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-11-01 11:52:07
几个流行的RDF (Jena、Sesame和dotNetRDF)都为SemWeb文件提供了完全流式的API,因此您可以编写一个自定义数据处理程序,该处理程序只接受生成的URI,并丢弃您不感兴趣的其余内容。
您可以使用perl做一些复杂的事情,它可能会更快,但它可能并不完全准确,特别是当RDF使用需要解决的相对URI时。
发布于 2013-06-19 18:00:07
选项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/
https://stackoverflow.com/questions/7959552
复制相似问题