Recibir por email diarios oficiales BOE,DOGV: perl

Por Paco Aldarias Raya

Impreso: 15 de junio 2007

Email: pacolinux arroba inicia punto es

Web: http://aldarias.es/pacodebian

Con Linux Debian. En Valencia (España)

El documento tiene version .html, y .pdf, cambiando en el navegador la parte final podrás acceder a ambos.

Este documento es de libre reproducción siempre que se cite su fuente.

Realizado con: LATEX

Índice General

1 Introducción

Vamos a ver como poder recibir por correo el DOGV y el BOE. Para ello usaremos perl. Además filtraremos para que nos saque todo lo de educación en la fecha de hoy.

2 Recibir el DOGV: dogv.pl

Ejecutarlo con: ./dogv.pl

Veamos que debe contener: cat dogv.pl

#!/usr/bin/perl -w
use strict;
use CGI::Carp qw(fatalsToBrowser);
use LWP::UserAgent;
use HTTP::Request;
use LWP::Simple;
use URI::Escape;


my $ua = LWP::UserAgent->new;
$ua->agent("Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)");

my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime();
my ($sec2,$min2,$hour2,$mday2,$mon2,$year2,$wday2,$yday2,$isdst2)=localtime(time - 7*24*60*60);
my $hoy = sprintf("%02d.%02d.%04d",$mday,$mon+1,$year+1900);
my $antes = sprintf("%02d.%02d.%04d",$mday2,$mon2,$year2+1900);
#my $hoy="\"$hoy\"";
my $fecha = uri_escape($hoy);
#my $texto = uri_escape( '"Educación"' );
my $texto = "Educación";
my $url="
http://www.docv.gva.es/bdddocv/ws/docv/web/insercion_dogv_c/ResultSet?upp=0&rpp=100&w=NATIVE%28%27+fecha_dogv+%3E%3D+%27%27$fecha%27%27+and+++fecha_dogv+%3C%3D+%27%27$fecha%27%27+and+++%28organismo+ph+words+%27%27$texto%27%27+or++titulo_insercion+ph+words+%27%27educaci%F3n%27%27+%29%27%29&r=1&order=native%28%27fecha_dogv%2FDescend%27%29
";

my $enc="Por Paco Aldarias. URL: <a href=\"$url\">$url</a>";

my $req = HTTP::Request->new(GET => $url);
my $response = $ua->request($req);
my $cab="\"[DOGV] $hoy Educación\"";
my $des='paco@miservidor.es';
open (CORREO,"| mail -a 'MIME-Version: 1.0' -a 'Content-type: text/html' -s $cab $des");
print CORREO $enc.$response->content;
close CORREO;

3 Recibir el BOE: boe.pl

Ejecutarlo con: ./boe.pl

Veamos que debe contener: cat boe.pl

#!/usr/bin/perl -w
use strict;
use CGI::Carp qw(fatalsToBrowser);
use LWP::UserAgent;
use HTTP::Request;
use LWP::Simple;
use URI::Escape;


my $ua = LWP::UserAgent->new;
$ua->agent("Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)");

my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime();
my ($sec2,$min2,$hour2,$mday2,$mon2,$year2,$wday2,$yday2,$isdst2)=localtime(time - 7*24*60*60);
my $hoy = sprintf("%02d/%02d/%04d",$mday,$mon+1,$year+1900);
my $antes = sprintf("%02d.%02d.%04d",$mday2,$mon2,$year2+1900);
#my $hoy="\"$hoy\"";
my $fecha = uri_escape($hoy);
#my $texto = uri_escape( '"Educación"' );
my $texto = "Educación";


my
$url="http://search.boe.es/g/es/bases_datos/search.php?coleccion=boe&frases=no&page_hits=200&sort_field%5B0%5D=fpu&sort_order%5B0%5D=desc&sort_field%5B1%5D=ref&sort_order%5B1%5D=asc&OK=Buscar&operador%5B0%5D=&campo%5B0%5D=DOC&dato%5B0%5D=&operador%5B1%5D=and&campo%5B1%5D=TIT&dato%5B1%5D=$texto&operador%5B2%5D=and&campo%5B2%5D=DEM&dato%5B2%5D=&operador%5B3%5D=and&campo%5B3%5D=NBO&dato%5B3%5D=&operador%5B4%5D=and&campo%5B4%5D=NOF&dato%5B4%5D=&operador%5B5%5D=and&campo%5B5%5D=FPU&dato%5B5%5D%5B0%5D=$hoy&dato%5B5%5D%5B1%5D=$fecha&operador%5B6%5D=and&campo%5B6%5D=FAP&dato%5B6%5D%5B0%5D=&dato%5B6%5D%5B1%5D=&sort_order%5B0%5D=desc&sort_field%5B1%5D=ref&sort_order%5B1%5D=asc
";

#print $url;

my $enc="Por Paco Aldarias. URL: <a href=\"$url\">$url</a>";

my $req = HTTP::Request->new(GET => $url);
my $response = $ua->request($req);
my $cab="\"[BOE] $hoy Educación\"";
my $des='paco@miservidor';
open (CORREO,"| mail -a 'MIME-Version: 1.0' -a 'Content-type: text/html' -s $cab $des");
print CORREO $enc.$response->content;
close CORREO;

4 Ponerlo en el cron

Si queremos que todos los dias a las 12 de lunes a viernes lance el dogv, deberemos usar el cron

Editar el cron, poniendo: crontab -e

Rellenar la linea:

0 12  * * 1-5  nice -n 19 perl /home/paco/dogv.pl

Salirse con :q

Índice de Materias

Sobre este documento...

Recibir por email diarios oficiales BOE,DOGV: perl

This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.71)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html diarios -split 0 -local_icons 1 -show_section_numbers -no_auto_link -no_navigation

The translation was initiated by Paco on 2007-06-15


Paco 2007-06-15