in reply to Re: Parsing Gutenberg Catalog Index
in thread Parsing Gutenberg Catalog Index

Woudlnt it just make sense to use their XML formatted catalog? ... http://gutenberg.net/browse/rdf/catalog.rdf.bz2

Replies are listed 'Best First'.
Re^3: Parsing Gutenberg Catalog Index
by tachyon (Chancellor) on Aug 30, 2004 at 07:58 UTC

    I would second that, given that the RDF looks like:

    <rdf:Description rdf:ID="etext13218"> <dc:publisher>&pg;</dc:publisher> <dc:title rdf:parseType="Literal">Don Orsino</dc:title> <dc:creator>Crawford, F. Marion (Francis Marion) (1854-1909)</dc:cre +ator> <dc:language>en</dc:language> <dc:created>2004-08-19</dc:created> <dc:rights rdf:resource="&lic;" /> </rdf:Description>

    Then all you need is something trivial like this to create a file ready for a MySQL 'load data local infile .....'

    #!/usr/bin/perl local $/ = "\n\n"; open RDF, $ARGV[0] or die $!; while(<RDF>){ next unless m/<rdf:Description rdf:ID="etext(\d+)"/; my $id = $1; next unless m/<dc:title[^>]+>([^<\n]+)</; my $title = $1; next unless m/<dc:creator>([^<\n]+)</; my $author = $1; $title =~ s/\s+/ /g; $author =~ s/\s+/ /g; print "$id\t$title\t$author\n"; }

    cheers

    tachyon