Allo,
Ik wil alle emails van GoudenGids hebben. (student programma)
Maar voor een student zoals mij, ik moet niet de DVD kopen.
Dat is mijn kleine script in Perl voor deze probleem.
Ik ben niet en piraat, voor mij 't is legaal te extracteren informaties thuis (:
Ik ben franstalig, excuseert veel voor mijn fletche nederlandstalig schrijven.
exemple van een pagina in PDF format uit goudengids.be :
http://goudengids.truvo.be/content/proof_copy/10RUB2009/G10-1-0226.pdf
We hebben ongeveer 1200 bladzijden deze jaar (2009)
#! /usr/bin/perl
$MyHomeWhereIDownload = /home/MIJ/TRUVO;
# Change the variable directory
for ($i = 1; $i <= 1200; $i++){
if ($i < 10) {
system "wget --directory-prefix=$MyHomeWhereIDownload http://goudengids.truvo.be/content/proof_copy/10RUB2009/G10-1-000$i.pdf"
};
if ($i < 100 && $i > 9) {
system "wget --directory-prefix=$MyHomeWhereIDownload http://goudengids.truvo.be/content/proof_copy/10RUB2009/G10-1-00$i.pdf"
};
if ($i < 1000 && $i > 99) {
system "wget --directory-prefix=$MyHomeWhereIDownload http://goudengids.truvo.be/content/proof_copy/10RUB2009/G10-1-0$i.pdf"
};
if ($i < 1200 && $i > 999) {
system "wget --directory-prefix=$MyHomeWhereIDownload http://goudengids.truvo.be/content/proof_copy/10RUB2009/G10-1-$i.pdf"
};
}
# WGET OK!
for ($i = 1; $i <= 1200; $i++){
if ($i < 10) {
system "pdftotext $MyHomeWhereIDownload/G10-1-000$i.pdf $MyHomeWhereIDownload/G10-1-000$i.txt"
};
if ($i < 100 && $i > 9) {
system "pdftotext $MyHomeWhereIDownload/G10-1-00$i.pdf $MyHomeWhereIDownload/G10-1-00$i.txt"
};
if ($i < 1000 && $i > 99) {
system "pdftotext $MyHomeWhereIDownload/G10-1-0$i.pdf $MyHomeWhereIDownload/G10-1-0$i.txt"
};
if ($i < 1200 && $i > 999) {
system "pdftotext $MyHomeWhereIDownload/G10-1-$i.pdf $MyHomeWhereIDownload/G10-1-$i.txt"
};
}
# ASCII OK!
for ($i = 1; $i <= 1200; $i++){
if ($i < 10) {
system "perl -wne'while(/[\w\.\-]+@[\w\.\-]+\w+/g){print "$&\n"}' $MyHomeWhereIDownload/G10-1-000$i.txt | sort -u > $MyHomeWhereIDownload/G10-1-000$i.txt.bak"
};
if ($i < 100 && $i > 9) {
system "perl -wne'while(/[\w\.\-]+@[\w\.\-]+\w+/g){print "$&\n"}' $MyHomeWhereIDownload/G10-1-00$i.txt | sort -u > $MyHomeWhereIDownload/G10-1-00$i.txt.bak"
};
if ($i < 1000 && $i > 99) {
system "perl -wne'while(/[\w\.\-]+@[\w\.\-]+\w+/g){print "$&\n"}' $MyHomeWhereIDownload/G10-1-0$i.txt | sort -u > $MyHomeWhereIDownload/G10-1-0$i.txt.bak"
};
if ($i < 1200 && $i > 999) {
system "perl -wne'while(/[\w\.\-]+@[\w\.\-]+\w+/g){print "$&\n"}' $MyHomeWhereIDownload/G10-1-$i.txt | sort -u > $MyHomeWhereIDownload/G10-1-$i.txt.bak"
};
}
# EMAIL EXTRACTOR OK!
system "touch $MyHomeWhereIDownload/FinalEmailsExtract.txt";
for ($i = 1; $i <= 1200; $i++){
if ($i < 10) {
system "cat $MyHomeWhereIDownload/G10-1-000$i.txt.bak >> $MyHomeWhereIDownload/FinalEmailsExtract.txt"
};
if ($i < 100 && $i > 9) {
system "cat $MyHomeWhereIDownload/G10-1-00$i.txt.bak >> $MyHomeWhereIDownload/FinalEmailExtract.txt"
};
if ($i < 1000 && $i > 99) {
system "cat $MyHomeWhereIDownload/G10-1-0$i.txt.bak >> $MyHomeWhereIDownload/FinalEmailsExtract.txt"
};
if ($i < 1200 && $i > 999) {
system "cat $MyHomeWhereIDownload/G10-1-$i.txt.bak >> $MyHomeWhereIDownload/FinalEmailsExtract.txt"
};
}
# ALL EMAILS EXTRACTED ON "FinalEmailsExtract.txt" file!
De script werkt perfekt in Linux.