Portál AbcLinuxu, 19. dubna 2024 16:26


Dotaz: web robot - CS24 - stazeni transakcni historie

25.7.2005 21:28 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
web robot - CS24 - stazeni transakcni historie
Přečteno: 202×
Odpovědět | Admin
Zdravim

Z uctu u ceske sporitelny potrebuju pravidelne skriptem stahnout vypisy doslych plateb. Pro sporozirovej ucet ale tahle skorobanka neposkytuje zadny aplikacni rozhrani pres ktery by to bylo mozny, ani neumoznuje zasilat informace o udalostech na mail. Po konzultaci s jejich helpdeskem mi bylo receno, ze jedina moznost je rucne se prihlasit, v menu nekolika kliknutima zvolit vypis transakcni historie, pak naklikat odkdy dokdy, nechat zobrazit a dole je tlacitko ulozit. Pak se to ulozi v CSV formatu. Parser uz jsem si napsal, ted bych potreboval pomoct zautomatizovat prihlaseni do banky a stazeni toho souboru.

Vim ze existuje nejakej web robot, kteryho je potreba naprogramovat a on pak sam prochazi web, vyplnuje formulare a klika na odkazy.

Jenze netusim ani jak se ten program jmenuje.

Muzete mi prosim nejak poradit?

diky

Zdenek
www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

25.7.2005 21:59 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: web robot - CS24 - stazeni transakcni historie
Odpovědět | | Sbalit | Link | Blokovat | Admin
Něco podobného jsem si psal v perlu s pomocí curl.
-- Nezdar není hanbou, hanbou je strach z pokusu.
25.7.2005 22:02 Jarek Šeděnka
Rozbalit Rozbalit vše Re: web robot - CS24 - stazeni transakcni historie
Odpovědět | | Sbalit | Link | Blokovat | Admin
slysel jsem neco o modulu Perl::Mechanize, ktery by mel delat presne tohle, ale nemam osobni zkusenost.
25.7.2005 22:08 jano009
Rozbalit Rozbalit vše Re: web robot - CS24 - stazeni transakcni historie
Odpovědět | | Sbalit | Link | Blokovat | Admin
Neviem ci je celkom vhodne nechavat doplnat hesla na internetbanking nejakemu scriptu. Doba je zla.
26.7.2005 17:07 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
Rozbalit Rozbalit vše Re: web robot - CS24 - stazeni transakcni historie
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zdravim

Tak jsme prohlkedal web a zjistil jsem, ze Perl::Mechanize je skutecne to co hledam. Jenze to bude problem. Programovat samozrejme tak trosku umim, ale s Perlem jsem nikdy nedelal, ale v tom asi problem nebude. Spis uz se tesim jak se web servis24 bude urputne branit. Netusim ani kde zacit. Nedelal jste nekdo nekdy s tim mechanize? Nejake funkcni examply z praxe?

Diky.

Zdenek
www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf
26.7.2005 17:35 pard | skóre: 17
Rozbalit Rozbalit vše Re: web robot - CS24 - stazeni transakcni historie
Osobně na podobné věci používám LWP (libwww-perl), myslím že to není složité a něco z vlastní tvorby bych našel
26.7.2005 21:23 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
Rozbalit Rozbalit vše VYRESENO
Odpovědět | | Sbalit | Link | Blokovat | Admin

Zdravim

Tak jsme to vyresil, misto follow_link jsem pouzil get. Takze skripty kterymi resim pozadovanou funkcnost jsou zde. Jen jeste musim doresit datumy v jednom z dotazu (od-do), ale to si stejne zajemce udela po svym, tohle je jen pro predstavu.

Oproti realite jsem zmenil prihlasovaci udaje, cislo uctu a "contractid". Staci si zkopirovat odkaz primo ze stranek servis24, tam to je uvedene.

#!/usr/bin/perl
use WWW::Mechanize;
my $m = new WWW::Mechanize(
 agent => 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)',
 autocheck => 1,
);

$m->get('https://www.servis24.cz/ebanking-s24/dispatcher');

$m->submit_form(
 fields => {
  getUidXX23F => 'uziv-cislo',
  getPWDXX23F => 'heslo',
 });

#zmenit datumy a cislo uctu + contractid
$m->get('https://www.servis24.cz/ebanking-s24/dispatcher?aid=901950&cffvhidformid=
deb_th_get&dtstart=20050626&dtend=20050726&accountnumber=0123456789&bankcode=800&
accounttype=S&contractid=12345678&accountcurrency=CZK&trnhistorytype=1'); print $m->content, "\n"; #odhlaseni $m->get('https://www.servis24.cz/ebanking-s24/dispatcher?aid=910136');

Vysledkem tohoto skriptu je CVS soubor s transakcni historii OD - DO dle zadanych datumu. Odhlaseni zda se funguje v poradku, staci si dat print az uplne nakonec, vyleze stranka "byly jste odhlaseni".

Tento skript vezme data z tempfile a vytahne z toho prichozi platby 300Kc a ukaze datum, var. symbol a jmeno majitele odchoziho uctu.

#!/bin/bash

grep 300.00 tempfile > tf2

exec < tf2
while read line
do
echo $line | cut -d "\"" -f 3- | cut -d "," -f 2,3,9
done

rm tf2

Ty dva cuty tam jsou z pekne trapnyho duvodu. V CVS souboru jsou data oddeleny carkou a data vypadaji takhle:

"úhrada z jiné banky",2005/07/18,8,300.00,"0- 123456790/0300",2005/07/18,8,"","jose armando",0558,,""

"úhrada z ČS, a.s.",2005/07/18,17,300.00,"0- 987654325/0800",2005/07/18,17,"","pepa z depa",,,""

Vidite tu pi..ip carku za CS?

Zdenek

www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.