Wordpress-Weblog nach HTML exportieren

aus PUG, der Penguin User Group
Wechseln zu: Navigation, Suche

Kann ja sein, daß einer mit dem Bloggen aufhört, aber nochmal zugriff auf die "für die Ewigkeit" geschriebenen Blog-Postings vergangener Jahre haben will.

Ähnlichkeiten mit irgendwelchen PUG-Mitgliedern sind natürlich rein zufällig. ;-)

 #!/usr/bin/perl -w
 use strict;
 use diagnostics;
 use DBI;
 
 my $database = "datenbank";
 my $username = "benutzer";
 my $password = "kennwort";
 my $dsn = "DBI:mysql:$database:localhost";
 
 my $outdir = "/home/benutzer/wp-export";
 
 open my $fh_idx, ">$outdir/index.html" or die "$outdir/index.html: $!\n";
 print $fh_idx "<HTML><HEAD><TITLE>Wordpress-Export</TITLE>";
 print $fh_idx "</HEAD><BODY><H1>Wordpress-Export</H1>\n";
 
 my $dbh = DBI->connect($dsn, $username, $password, { RaiseError => 1 });
 my $sth = $dbh->prepare("select post_date, post_name, post_title, post_content from 
        wp_posts order by post_date desc");
 $sth->execute();
 while (my @row = $sth->fetchrow_array()){
        my $date = $row[0];
        my $name = $row[1];
        my $title = $row[2];
        my $text = $row[3];
        print "$date / $name / $title\n";
        print $fh_idx "$date: <a href='$name.html'>$title</a><br/>\n";
        $text =~ s/\n/<br>/gm;
        open my $fh, ">$outdir/$name.html" or die "$outdir/$name.html: $!\n";
        print $fh "<HTML><HEAD><TITLE>$title ($date)</TITLE>";
        print $fh "</HEAD><BODY><H1>$title</H1>\n$date<hr/>";
        print $fh $text;
        print $fh "</BODY></HTML>\n";
        close $fh;
 }
 
 print $fh_idx "</BODY></HTML>\n";
 close $fh_idx;
 
 $sth->finish();
 $dbh->disconnect();