Pregunta

escribí un script Perl hace un tiempo, que ha iniciado sesión en mi banca en línea y por mail el equilibrio y un mini-estado de cuenta cada día. Me pareció muy útil para hacer el seguimiento de mis finanzas. El único problema es que lo escribo tal y usando Perl y el rizo y fue bastante complicado y difícil de mantener. Después de unos pocos casos de mi banco que cambian su página web me harté de depuración para mantenerlo al día.

¿Cuál es la mejor manera de escribir un programa de tal manera que es fácil de mantener? Me gustaría escribir una bonita versión buena ingeniería, ya sea en Perl o Java que será fácil de actualizar cuando el banco tocar el violín, inevitablemente, con su sitio web.

¿Fue útil?

Solución

En Perl, algo así como WWW::Mechanize ya pueden hacer su guión más simple y robusta, ya que puede encontrar los formularios HTML en respuestas anteriores de la página web. Usted puede llenar en estas formas de preparar una nueva solicitud. Por ejemplo:

my $mech = WWW::Mechanize->new();
$mech->get($url);
$mech->submit_form(
    form_number => 1,
    fields      => { password => $password },
);
die unless ($mech->success);

Otros consejos

Una combinación de WWW :: Mecanizar y web :: raspador son las dos herramientas que me hacen más productivo. Hay un buen artículo sobre esa combinación en el catalizada .org

Si tuviera que dar un consejo, que sería el uso de XPath para todos sus necesidades de raspado. Evitar expresiones regulares.

Hmm, acaba de encontrar

Finanzas :: :: Banco Natwest

¿Qué es un módulo Perl específicamente para mi banco! No esperaba que fuera tan fácil.

Una gran cantidad de bancos publicar sus datos en un formato estándar, que se utiliza comúnmente por los paquetes de finanzas personales tales como MS Money o Quicken para descargar información de la transacción. Se podría buscar ese gancho y descarga utilizando la misma API, y luego analizar los datos en su final (por ejemplo, analizar documentos de Excel con Hoja de cálculo :: ParseExcel y documentos con Quicken Finanzas :: QIF).

Edit (Responder al comentario): ¿Ha pensado en contacto con su banco y preguntándoles cómo puede iniciar sesión en su cuenta mediante programación con el fin de descargar la información financiera? Muchos / la mayoría de los bancos tienen una API para este (que Quicken etc hacer uso de, como se describió anteriormente).

Hay un momento hasta la fecha de implementación de Ruby aquí:

http://github.com/warm/NatWoogle

El uso de Perl y el paquete Web :: rascador: enlace de texto

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top