Journal recuperer les adresses de tous les deputés européens francais pour leur ecrire

Posté par  .
Étiquettes : aucune
0
23
juin
2003
Voici un script perl qui recupére toutes les adresses mails des députés européens trouve ici http://brevets-logiciels.info/wiki/wakka.php?wiki=AdressesDeputes et qui génère un fichier mail par deputé qu'il ne reste plus qu'a envoyer.
L'utilisation est simple : brevets.pl <fichier html de la page juste au dessus> <fichier contenant le texte a envoyer>
le script est tres simple, il faut peut-etre changer le titre du mail qui est positionnée dans le script, variable $subject.
En esperant que ca aide ceux qui n'ont pas encore ecrit aux députés à le faire.
Avec ca, on peut ecrire a tous les députés individuellement sans faire un spam ....

#!/usr/bin/perl
# usage : ./brevets.pl wakka.php.html contre-brevetslogiciels.txt

use strict;

my $fichier=$ARGV[0];
my $texte = $ARGV[1];
my $ligne;
my @emails_deputes;
my $un_email;
my $nom;
my $prenom;
my @tab;
my $contenu_mail;
my $subject = "brevetabilités des logiciels passées sous silence";
my $elt;

if( defined($fichier) && defined($texte)) {
open(FICHIER,$fichier) || die "impossible d'ouvrir $fichier";
open(TEXTE,$texte) || die "impossible d'ouvrir $texte";
# open(LOG,">log.txt");

# on recupere les adresses de nos amis dans @emails_deputes!
while($ligne = ) {
chomp($ligne);
$ligne = supprime_accents($ligne);
$un_email = "";
if( $ligne =~ /^[0-9]{1,2}.* ([A-Z -]*), (.*)<br \/>$/) {
$nom = $1;
$prenom = $2;
$nom = lc($nom);
$prenom = lc($prenom);
$prenom =~ s/\.//g;
$prenom =~ s/ /-/g;
if( $prenom =~ /-/ ) {
@tab = split(/-/,$prenom);
foreach $elt (@tab) {
$elt =~ /^(.{1}).*/;
$un_email .= $1;
# print LOG "1er $elt\n";
}
} else {
$prenom =~ /^(.).*/;
# print LOG "elt $prenom\n";
$un_email = $1;
}
$un_email .= $nom . '@europarl.eu.int';
# print LOG "depute [$nom] [$prenom] -> $un_email\n";
push(@emails_deputes,$un_email);
}
}
# close(LOG);

# on recupere le contenu du message
while( $ligne = ) {
$contenu_mail .= $ligne;
}
close(FICHIER);
close(TEXTE);

# on cree les mails : un fichier = 1 mail pour 1 depute
# il faut peut-etre modifier le format de sortie ...
foreach my $mail (@emails_deputes) {
$mail =~ /(.*)@.*/;
open(MAIL,">$1.txt");
print MAIL "to: $mail\n";
print MAIL "subject: $subject\n";
print MAIL "\n\n$contenu_mail\n";
close(MAIL);
}
} else {
print "brevets.pl <fichier wakka.php.html> <fichier contenant le message>\n";
print "Recupere les adresses mails des deputes et cree un fichier-mail par depute\n";
print "qu'il faut ensuite leur envoyer. Le nom du fichier et la 1ere partie du mail\n";
}

sub supprime_accents {
my $mot = shift;

$mot =~ s/é/e/g;
$mot =~ s/è/e/g;
$mot =~ s/ê/e/g;
$mot =~ s/ë/e/g;
$mot =~ s/à/a/g;
$mot =~ s/ô/o/g;
$mot =~ s/ö/o/g;
$mot =~ s/ç/c/g;
$mot =~ s/î/i/g;
$mot =~ s/ï/i/g;

return $mot;
}

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.