Fórumok
Hello!
Van nekem egy dijnet.hu-s előfizetésem. Megvan már pár éve, van benne jó sok számla. Szeretném ezeket letölteni, de sajnos csak egyenként lehet és azt is egy táblázatból kiválasztva, majd klikkelve. Számoltam, kb 2000 klikkelés lenne letölteni mindent, plusz persze az idő. Tud esetleg valaki valami kényelmes megoldást? (az oldalon a kontaktot kérdeztem, sajnos nem segített)
Hozzászólások
Próbáld meg HttpFox segítségével megfejteni a következőket:
- lista lekérés
- egy pdf letöltés
Ezek után némi türelemmel és script segítségével írhatsz olyan wget-et használó scriptet, ami mindent letölt.
Megpróbáltam, egyelőre nem működik.
Ahogy látom, a díjnet oldalán ez lenne a login rész:
<form name="loginform" action="/ekonto/login/login_check_password" method="post">
<input name="vfw_form" type="hidden" value="login_check_password" />
<input name="username" class="text_username" type="text" placeholder="Bejelentkezési név" />
<input name="password" class="text_password" type="password" placeholder="Jelszó" />
<input style="margin-top: 3px;" class="button" type="submit" value="Belépek" />
</form>
Ezek alapján a következővel próbálkoztam:
wget --save-cookies cookies.txt --keep-session-cookies --post-data 'username=FELHASZNALONEV&password=JELSZO' https://www.dijnet.hu/ekonto/login/login_check_password
Erre csinált egy cookies.txt fájlt, amiben ez van:
www.dijnet.hu FALSE /ekonto TRUE 0 JSESSIONID XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
és csinált egy login_check_password fájlt is, de sajnos ez alapján nem sikerült a login és érdekes, de az oldalon szerepel a "Program hiba" szöveg is. Lehet, hogy valami javascriptes dolog van mögötte? Esetleg valakinek van tippje?
hmm, megoldottam seleniummal.
Mivel, hogy kaptam egy olyan levelet, hogy
"Mivel a DijNet 2017-től midenkinek fizetőssé teszi a 18 hónapnál
régebbi számlák elérését, szeretném a segítséged kérni hogy
miként sikerült Seleniummal letöltened az összes számlát.
Én Seleniumot eddig még sosem használtam, így minden info, ötlet,
kódrészletért nagyon hálás lennék.
Előre is köszönöm a segítséged! "
Ezért írom, amire emlékszem:
Fentartom, hogy akkor ez működött és nem mindenre emlékszem már. Ha jól emlékszem, akkor kézzel beloginoltam a díjnet oldalába és utána indítgattam a szkripteket. Ha azóta változott a díjnet oldala, akkor a fentiek már nem működnek, mert a selenium a weboldal felépítéséből tájékozódik. Ha azóta változott a weboldal (akár csak egy gomb ID-ja), akkor a szkripteken is változtatni kell. Leellenőrizni nem tudom a működésüket most, mert akkor megszüntettem a díjnetet, mert nem éreztem őket elég ügyfélközpontúnak.
Itt vannak a kódok is (igen, most ilyen bénán idemásolom őket. Az első sor a fájlnév, aztán a fájl tartalma):
dijbeszedot_kivalasztja_es_mindet_letolti.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="https://www.dijnet.hu/" />
<title>dijbeszedot_kivalasztja_es_mindet_letolti</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">dijbeszedot_kivalasztja_es_mindet_letolti</td></tr>
</thead><tbody>
<tr>
<td>store</td>
<td>1</td>
<td>x</td>
</tr>
<tr>
<td>label</td>
<td>kezdet</td>
<td></td>
</tr>
<tr>
<td>echo</td>
<td>'---------------------------------'</td>
<td></td>
</tr>
<tr>
<td>echo</td>
<td>${x}</td>
<td></td>
</tr>
<tr>
<td>open</td>
<td>/ekonto/control/szamla_letolt</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Számlakeresés</td>
<td></td>
</tr>
<tr>
<td>select</td>
<td>name=regszolgid</td>
<td>label=</td>
</tr>
<tr>
<td>select</td>
<td>name=regszolgid</td>
<td>label=díjbeszedő (LOGIN_XXXXXXX)</td>
</tr>
<tr>
<td>click</td>
<td>css=option.47338196</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>id=button_gen_N1012B</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>//table[@id='listframetable_N1012F_scroll']/tbody/tr[${x}]/td[2]/a/div</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Letöltés</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>css=div.xt_link_cell__download</td>
<td></td>
</tr>
<tr>
<td>storeEval</td>
<td>storedVars['x']=${x}+1</td>
<td></td>
</tr>
<tr>
<td>gotoIf</td>
<td>${x}<555</td>
<td>kezdet</td>
</tr>
<!---->
</tbody></table>
</body>
</html>
elmut_kivalasztja_es_mindet_letolti.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="https://www.dijnet.hu/" />
<title>fogaz_kivalaszt_es_egyet_letolt</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">elmut_kivalasztja_es_mindet_letolti</td></tr>
</thead><tbody>
<tr>
<td>store</td>
<td>1</td>
<td>x</td>
</tr>
<tr>
<td>label</td>
<td>kezdet</td>
<td></td>
</tr>
<tr>
<td>echo</td>
<td>'---------------------------------'</td>
<td></td>
</tr>
<tr>
<td>echo</td>
<td>${x}</td>
<td></td>
</tr>
<tr>
<td>open</td>
<td>/ekonto/control/szamla_letolt</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Számlakeresés</td>
<td></td>
</tr>
<tr>
<td>select</td>
<td>name=regszolgid</td>
<td>label=</td>
</tr>
<tr>
<td>select</td>
<td>name=regszolgid</td>
<td>label=elmű (LOGIN_XXXXXXX)</td>
</tr>
<tr>
<td>click</td>
<td>css=option.47338196</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>id=button_gen_N1012B</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>//table[@id='listframetable_N1012F_scroll']/tbody/tr[${x}]/td[2]/a/div</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Letöltés</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>css=div.xt_link_cell__download</td>
<td></td>
</tr>
<tr>
<td>storeEval</td>
<td>storedVars['x']=${x}+1</td>
<td></td>
</tr>
<tr>
<td>gotoIf</td>
<td>${x}<555</td>
<td>kezdet</td>
</tr>
<!---->
</tbody></table>
</body>
</html>
fogazt_kivalasztja_es_mindet_letolti.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="https://www.dijnet.hu/" />
<title>fogaz_kivalaszt_es_egyet_letolt</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">fogaz_kivalasztja_es_mindet_letolti</td></tr>
</thead><tbody>
<tr>
<td>store</td>
<td>1</td>
<td>x</td>
</tr>
<tr>
<td>label</td>
<td>kezdet</td>
<td></td>
</tr>
<tr>
<td>echo</td>
<td>'---------------------------------'</td>
<td></td>
</tr>
<tr>
<td>echo</td>
<td>${x}</td>
<td></td>
</tr>
<tr>
<td>open</td>
<td>/ekonto/control/szamla_letolt</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Számlakeresés</td>
<td></td>
</tr>
<tr>
<td>select</td>
<td>name=regszolgid</td>
<td>label=</td>
</tr>
<tr>
<td>select</td>
<td>name=regszolgid</td>
<td>label=főgáz (LOGIN_XXXXXXX)</td>
</tr>
<tr>
<td>click</td>
<td>css=option.47338196</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>id=button_gen_N1012B</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>//table[@id='listframetable_N1012F_scroll']/tbody/tr[${x}]/td[2]/a/div</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Letöltés</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>css=div.xt_link_cell__download</td>
<td></td>
</tr>
<tr>
<td>storeEval</td>
<td>storedVars['x']=${x}+1</td>
<td></td>
</tr>
<tr>
<td>gotoIf</td>
<td>${x}<555</td>
<td>kezdet</td>
</tr>
<!---->
</tbody></table>
</body>
</html>
UPCt_kivalasztja_es_mindet_letolti.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="https://www.dijnet.hu/" />
<title>fogaz_kivalaszt_es_egyet_letolt</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">UPCt_kivalasztja_es_mindet_letolti</td></tr>
</thead><tbody>
<tr>
<td>store</td>
<td>1</td>
<td>x</td>
</tr>
<tr>
<td>label</td>
<td>kezdet</td>
<td></td>
</tr>
<tr>
<td>echo</td>
<td>'---------------------------------'</td>
<td></td>
</tr>
<tr>
<td>echo</td>
<td>${x}</td>
<td></td>
</tr>
<tr>
<td>open</td>
<td>/ekonto/control/szamla_letolt</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Számlakeresés</td>
<td></td>
</tr>
<tr>
<td>select</td>
<td>name=regszolgid</td>
<td>label=</td>
</tr>
<tr>
<td>select</td>
<td>name=regszolgid</td>
<td>label=UPC (LOGIN_XXXXXXX)</td>
</tr>
<tr>
<td>click</td>
<td>css=option.47338196</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>id=button_gen_N1012B</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>//table[@id='listframetable_N1012F_scroll']/tbody/tr[${x}]/td[2]/a/div</td>
<td></td>
</tr>
<tr>
<td>clickAndWait</td>
<td>link=Letöltés</td>
<td></td>
</tr>
<tr>
<td>click</td>
<td>css=div.xt_link_cell__download</td>
<td></td>
</tr>
<tr>
<td>storeEval</td>
<td>storedVars['x']=${x}+1</td>
<td></td>
</tr>
<tr>
<td>gotoIf</td>
<td>${x}<555</td>
<td>kezdet</td>
</tr>
<!---->
</tbody></table>
</body>
</html>
Hello Raki!
Még egyszer köszönöm, frissítettem a kódokat, most menti le szépen a számlákat.
Ha valaki más is ide jut van frissített kód ELMŰ-höz, UPC-hez és Dijbeszedő-höz.
Üdv,
Gasa
a dolgozó népet szolgálom... :-)
Sziasztok,
ha még megvan, én kérném szépen a scripteket.
Köszi,
üdv,
Gergő
Érdemes volna githubra felrakni, nem?
--
Gábriel Ákos
http://ixenit.com
Köszi, én kicsit átalakitottam, hogy ne töltse újra mindig a listát és ne kelljen a scriptbe beleirni az azonositókat. (nekem csak upc van benne, igy csak azzal próbáltam)
Bemész kézzel a számlakeresésbe, kiválasztod az azonositót (leszűröd akár dátumra) keresésgomb, hogy bejöjjön a lista és utána inditod a scriptet:
http://pastebin.com/KAESSePK
Még az xml letöltést is bele lehetne rakni...
A pause(1000) nekem kellett a számlaletöltés click után, különben néha kiakadt.
(ja a selenium mellé nekem ezt a plugint is fel kellett tegyem: https://addons.mozilla.org/hu/firefox/addon/flow-control/ )
Még annyit tennék hozzá, hogy nálam a Firefoxban az Electrolysis-t ki kellett kapcsolnom, mert azzal elhasalt a Selenium.
Köszönöm!
Nekem három dolgot kellett ezen "javítanom", hogy jól menjen:
- 36. sorban a 'listframetable_N*****_scroll'-ban az N-ID-t átírni
- 41. sorban
cseréje
-re
- 51. sor pause-t én feljebb vettem 2000-re
Gergő
Ezek szerint az az ID változik.
Az ékezet szerintem nálam kutyulódott el mikor pastebinre raktam.
A cookie-t lementheted a bongeszoben is, es atadhatod azt a wgetnek.
Köszönöm a tanácsot! Igen, gondoltam erre, de a firefox valami sqlite DB-ben tárolja a cookie-kat, ha jól láttam és onnan kiszedni macera lett volna.
plusz a wget-tel szenvedvem egy kicsit, nem biztos, hogy meg lehet oldani a javascript miatt. Seleniummal egyszerű volt megoldani a dolgot.
Firefoxban a cookiet konnyu megszerezni. Adott oldalon a Tools menu Page Info almenut kivalasztod, a megjeleno ablakban Security ful, majd View Cookies.
sub
Köszi a hozzájárulást mindenkinek, hatalmas segítség volt, pedig nem értek ám a webfejlesztéshez... :)
Osszedobtam egy script-et, ami lementi az osszes dijnet-es szamlat:
https://github.com/wolandmaster/dijnet-dump/blob/master/dijnet-dump.sh
Bár én már letöltöttem a számlákat, de ezért a megoldásért küldök egy rekesz virtuális sört :)
+1
thx
zsenialis, thx!
Ezer köszönet!
------------------------
{0} ok boto
boto ?
Nagyon jól működik, köszönöm szépen!
(Ui: jól sejtem, hogy ha wgetnek jövő ilyenkor adok egy -N kapcsolót, akkor meg van oldva az inkrementális mentés?)
Jo otlet. Bar a timestamping (-N) nem mukodik, mert letolteskor nem a remote file datumaval mentodik a file,
de a no-clobber jo, szoval be is csekkeltem egy uj verziot.
Köszi! Hasznos!
--
trey @ gépház
Nagyon szépen szortírozva leszedte a számlákat! :)
Ettől függetlenül lehet, hogy azt a havi 10 forintot kifizetem.
Software is like sex, it's better with a penguin. :D (r)(tm)(c) آكوش
Marmint 80-ra gondoltal. Evente 991 Ft-ot kell fizetned nehany MB tarhelyert.
100-at akartam írni, de egy 0 lemaradt. Mondjuk nem olvastam el, hogy ennyi pénzért garantálják-e, hogy meg is marad minden számla..
Nem tárhely szolgáltatás. Általánosságban elmondható, hogy szolgáltatásnál van egy fix költség, valószínűleg nem a felhasznált MiB-ek befolyásolják leginkább.
Software is like sex, it's better with a penguin. :D (r)(tm)(c) آكوش
A szolgáltatás költségét a számlakibocsátók állják.
Most, hogy egyedül maradtak a magyar piacon, a felhasználókat próbálják megfejni kicsit.
szép.
feltűnt már valakinek, hogy honnan a név?
Az mekkora már amikor Lévi Mátén keresztül üzennek Wolandnak hogy "jutalmazza" a Mestert örök nyugalommal, ahelyt hogy a fénybe vennék? (257. o.)
Ehh.... Már megint olvasnom kell...
- - - - - - - - - - -
"A fejlesztők és a Jóisten versenyben vannak. Az előbbiek egyre hülyebiztosabb szerkezeteket csinálnak, a Jóisten meg egyre hülyébb embereket. És hát a Jóisten áll nyerésre." By:nalaca001 valahol máshol
henial! köszi.
"Belépés díjtalan, kilépés bizonytalan."
"Vajon mit várok a sorstól, ha hányok az édestől, és izzadok a sóstól."
Szép munka! Gratulálok
köszi, ez nagyon hasznos!
tipp: A password argumentum lehetne opció, és ha nincs akkor 'read' kérné be.
bugreport: "Csat. Mûv. Zrt." :)
szerk
most nézem a kódot. ezen lehet egyszerűsíteni valami ilyesmit:
s/á/a/g; s/Á/A/g
s/é/e/g; s/É/E/g
s/í/i/g; s/Í/I/g
s/û\|ú\|ü/u/g; s/Û\|Ú\|Ü/U/g
s/õ\|ó\|ö/o/g; s/Õ\|Ó\|Ö/O/g
&([a-zA-Z])[a-zA-Z]+;
Az első részmintára cseréled.
szerk2
ERROR: exit code not zero of command: INVOICE_COUNT=$(echo "${INVOICES}" | wc -w)
Erről felrémlett az a kódrészlet, amikor valaki annyira, de annyira ügyes volt, hogy str_replace-kkel gányolt át egy UCS-2-s szöveget UTF-8-ra, aztán csodálkozott, hogy mindig jött "valami idióta hangjegy karakter", ahelyett, hogy használta volna az iconv-ot.
----------------
Lvl86 Troll, "hobbifejlesztő" - Think Wishfully™
Kössz. Remekül funkcionál...
Koszi a scriptet!
Sajnos nalam ket szolgaltato utan hibat dob:
ERROR: exit code not zero of command: INVOICE_COUNT=$(echo "${INVOICES}" | wc -w)
Terminated: 15
Nezegettem, hogy van-e kulonbseg az INVOICES -ben, de semmi szamomra lathato.
Nálam is, már keresem az okát. Az biztos, hogy nem az echo-ba hal bele a script, hanem később.
szerk
grep -q 'href="szamla_letolt"' lép ki 1-es hibakóddal (nincs match). Viszont ha lementem a kimenetet, azt megnyitom editorban és úgy keresem a keresett szöveget, akkor ott meg van találat.
szerk2
a for ciklus első sorát kell módosítani így:
dijnet "control/${INVOICE}" | iconv -f iso8859-2 -t utf-8 | grep 'href="szamla_letolt"' || die
Az a gond, hogy a kérdéses sorban van egy ő betű, ami megzavarja a grep-et. Hogy a többi szolgáltatónál miért nincs az jó kérdés.
Env: osx 10.12.2
grep (BSD grep) 2.5.1-FreeBSD
ha reprodukalhato a hiba, akkor futtasd straceval: strace -o kimenet -ff -s 1024 ./program paramterek
es akkor latod a fajlokban hogy ki miert halt el
--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
Nálam is elhasalt, de legalább megtaláltam, hogy melyik számlánál.
A "Telekom mobil" szolgáltató olyan során, ahol a rendes (16 karakter, csak szám) számlaszám helyett a "Részletfizetés 2016.01" szöveg van a Számlaszám oszlopban. Lehet, hogy ez borítja meg?
Amúgy összeszámolta, hogy 44 számla van és 16-ot hiba nélkül le is töltött. A 17.-nél, ami a "Részletfizetés", annál szállt el.
Szerk1:
Annyit találtam még, hogy más a href szerkezete.
Normál számlánál ez:
href="szamla_select?vfw_coll=szamla_list&vfw_coll_index=0&vfw_rowid=15&vfw_colid=szamlaszam|egyenleginfo_0"
Részletfizetésnél meg ez:
href="/ekonto/control/szamla_select?vfw_coll=szamla_list&vfw_coll_index=0&vfw_rowid=16&vfw_colid=fizhatdat|R"
Mikor a 81. sorban a for-ciklusban a "control/" után fűzzük a href-et, akkor már invalid URL lesz:
"control//ekonto/control/szamla_select..." és kampec.
A HREF-ből ki kellene pucolni a felesleges "/ekonto/control/" string-et feldolgozás előtt, nem?
Szerk2: Megoldás!
A 78. sor végére betettem még egy 'sed' hívást, ami kiszedi.
...| sed 's/href="\([^"]*\)"/\1 /g;s/\&/\&/g' | sed 's/\/ekonto\/control\///g')
Ezek után hiba nélkül lefutott minden szolgáltató minden számlájára NÁLAM!
Koszi, igy lejott nekem is!
Becsekkeltem, koszi:
https://github.com/wolandmaster/dijnet-dump/commit/af5e26cad01c587c9b5b…
nekem nem volt xmllint telepítve (tudom olvassak, emlékszem 27-én néztem, hogy biztos nem lesz ilyenem, de most fogtam bemásoltam futtattam, nem olvastam), ha már van if which pv, akkor ugyanez wget, xmllintre is mehet :).
külső parancsokat én változóba szoktam tenni ráadásul abszolút elérési úttal, mert evil népek odatesznek neked egy wgetet.
más, a:
Számlaszám-Kiállítás dátuma könyvtárat készít. Hogyan lehetne ez dátum-számlaszám?
INVOICE_NUMBER=$(echo "${INVOICE_DOWNLOAD}" | xpath '//label[@class="title_next_s"]/text()' | sed 's/\//_/g;s/ //g;s/\(.*\)-\(.*\)/\2-\1/g')
Korábban nem tudom hogy volt, de most a "title_next_s" a számlaszámot és a Fizetési határidő-t tartalmazza egyben, vagyis a "Fizetendő számlák >>" utáni részt az oldal felső sorából.
A Kiállítás dátuma a <label class="">Kiállítás dátuma:</label> utáni első <div class="xt_field">2020.01.06</div> class-ból szedhető ki. Ehhez én most hülye vagyok, de nekem is jobban tetszene a "Számlaszám-Kiállítás" dátuma könyvtárnév. Ehhez még a számlaszámot is külön ki kellene szedni a "Számlaszám:" label után...
Valaki esetleg? :-)
Ha nem is a legszebb megoldással, de működik!
A 92-93 sorokat cseréltem le 3 módosított sorra:
A Dátumot és a Számlaszámot külön szedem ki és a mappa nevét ezekből fűzöm össze.
Ellenőrizzétek légyszi és ha máshol is ok, akkor mehet a kódba @woland ;-)
Köszi!
Nálam működött így is.
köszi, nálam tök jól futott
bravó! :-)
Köszi!
Koszike, megnezem. Mondjuk, en 3-4 havonta mindig le szoktam tolteni, de ezzel elmegy ugy felora, most majd egyszerubb lesz.
--
http://www.micros~1
Rekurzió: lásd rekurzió.
Kedves woland!
Kérhetnék egy kis segítséget, hogyan kéne használnom a Seleniummal (nem ismerem ezt a kiegészítőt)?
Köszönöm Ádám
Köszi! Esetleg szólhatna, ha xmllint nincs telepítve, majd fél órát néztem, hogy akkor most mi a baj.
woland: köszi, szuper! :)
Először is köszönöm! Januárban használtam most megint szerettem volna. De most nem megy.
Már a bejelentkezés elakad, gondolom megváltoztattak valamit.
A login oldalt mindenképp, de lehet, hogy a többiben is módosítottak.
Most látom csak hogy szeptemberbe érkezett a kódhoz egy javitási javaslat, csak még nem fogadta el a tulajdonos.
Este majd átirom és kipróbálom hogy müködik e.
en kiprobaltam, atirtam es mukodik
Hálás köszönet érte!
Ráadásul érdemes lesz egy kis időt szentelnem arra, hogy tanuljak a forráskódjából.
Ja, és elindítottam, nem gyulladt ki a gép, fel se robbant. Azt nem tudom, hogy a jelszavakat gyűjti-e vagy nem, de az kit érdekel... :D
Ezek már megint változtattat. Tudtok rajta változtatni? Én sajna nem értek hozzá.
Köszi a scriptet, pont egy ilyenre volt szükségem! Nagyon szépen működik és mind a pdf-et mind az xml-t letölti csodásan rendezett formában. Csodálatos! Köszi! :)
thx
(Valamit megint változtattak a loginon:)
+1 woland megoldására
Ez a díjnet több szempontból szánalmas oldal.
Sok esetben (nem mindig) nem lehet url-ről vagy új ablakban nyitni dolgokat. Ha a számlák listájánál pl megnyitnál többet egymás után új ablakban, akkor ugyanazt az egyet mutatja, és az első kivételével mindegyiknél ott a figyelmeztetés: "Kérjük csak az oldalon található gombokat és hivatkozásokat használja!"
Kedves fejlesztők, talán tessék megtanulni hogy működik egy böngésző, figyelembe venni az urleket, a vissza gombot, és az új lapfülön megnyitás lehetőségét...
sub
-
Hali!
Nekem ma a második számla betöltésekor hasal el.
Azt nem tudtam megállapítani, hogy a számla-listára visszalépéssel van gondja vagy a második számla-oldal betöltésével.
Valaki tesztelte mostanában? Október után?
Köszi!
Nekem sem igazán működik vagy én nem tudom használni... A bejelentkezésen sem jutok túl.
Valaki tudna írni pár sort hogyan kell használni...
THX
Már nem működik. Érzésre, a díjnet letiltotta az ilyetén való hozzáférést.
--
trey @ gépház
Köszi. :(
Nálam működik egy kis módosítás kellett hozzá. Az egyik gond az volt, hogy a szar karakter kódolás miatt a grep nem találta meg hogy a belépés sikeres volt-e vagy sem, a másik gond pedig az volt, hogy megváltozott az a html kód amit sikeres belépés esetén kiírt.
A login rész (nálam 57. sortól) most így néz ki:
printf "login... "
dijnet "login/login_check_password" "vfw_form=login_check_password&username=${USER}&password=${PASS}" \
| iconv -f ISO-8859-2 | grep -q "Bejelentkezési név: <strong>${USER}" || die "login failed"
echo OK
és ezzel működik is (macOS-en használom).
Ami változott: lefut egy ICONV ami 8859-2-ből az rendszer karakterkészletére fordítja, illetve a "<strong>${USER}" keresi a sikeres belépés feltételeként (azthiszem ott </em>${USER}) volt.
Nálam Linuxon az iconv nem kellett, csak a /em lett cserélve strong-ra és megy.
MGy, zárd le lécci a strong taget...
Ezt szépen benéztem. Köszönöm a figyelmeztetést.
Nincs mit.
Valóban:
https://github.com/wolandmaster/dijnet-dump/pull/4/commits/060e5a6fde31…
Így már működik!
Kéne szólni woland-nak, hogy azt a pull request-et tegye már bele...
--
trey @ gépház
done
thx!
--
trey @ gépház
[hoppa, nemide]
nálam ez van:
login... OK
query service providers... ERROR: not able to detect service providers
Terminated
pedig van 2 megszűnt és 2 aktív providerem is :( how to debug?
A GitHub-on lehet issue-t nyitni.
--
trey @ gépház
nekem is ez volt, én ezt a csomagot telepítettem és működik: libxml2-utils
OS: Linux Mint 17.3 Rosa
---
debian -> linuxmint -> osx ;)
Ide is megirom:
Nekem akkor irta ezt, ha nem volt fent xmllint. Debian alapu disztrokban: apt-get install libxml2-utils. Cygwin -ben a libxml2 csomag kell (setup-x86_64 -qP libxml2).
Egyebkent a script elejere odairtam, h kell hozza libxml2-utils... ;-)
Kijavitottam a hozzaszolasokban irt dolgokat es a nyitott issue-kat.
Ha talaltok meg hibat irjatok uj github issue-t, vagy, ha mar a javitas
is megvan, akkor johet a pull request.
Most teszteltem, tökéletesen működik a dijnet számla letöltő script 2020 Januárjában is, köszi woland!
üdv Kepe
https://www.youtube.com/results?search_query=nekrofil
Aktuális volt felébreszteni a szálat, mert a dijnet megint törléssel fenyegetőzik ha nem kap zsetont.
Nem fenyegetőzik, hanem egy szolgáltatást pénzért ad. Ennyi.
Ha telepítve a libxml2-utils csomag Ubuntura de a script mégsem látja, az mitől lehet?
Ha simán terminálban hívom az xmllint-et, akkor ok.
A script viszont belefut a "Dependency missing..." ágba.
Hülye kérdés, de a script is tudja, mi a PATH?
Ide írom, hogy meglegyen, mert nekem kezdőnek gondot okozott:
Ha a script-et sh-val futtatom (sh ./dijnet-dump.sh) akkor nem találja meg sem az xmllint, sem a perl hívásokat. Gondolm a PATH kezeléssel van gondja.
A fenti dependeny hibát is ez okozta nálam és a "query service providers..." rész is ezért szállt el.
Ha bash-ból hívom, akkor megtalálja az útvonalakat és hiba nélkül lefut az egész!
Amikor csak ./dijnet-dump.sh formában indítjuk, akkor mitől függ, hogy melyik shell-ben futtatja? Egyszerűen ami a "$ echo $SHELL"-ben ki van választva?
"Amikor csak ./dijnet-dump.sh formában indítjuk, akkor mitől függ, hogy melyik shell-ben futtatja? Egyszerűen ami a "$ echo $SHELL"-ben ki van választva?"
Hint: shebang. Jelen esetben tehát a /bin/bash hívódik meg a script futtatására.
Esetleg Digi számlákhoz valaki nem akar csinálni ilyet ? :)
Ehhez, meg pár más közüzemi céghez írok api klienst, amivel le tudom tölteni a számlát, illetve tudok óraállást diktálni.
Jelenleg elvan törve a letöltő, mert módosítottak valamit az oldalon, reményeim szerint a héten megjavítom.
https://github.com/ProZsolt/dijnet
Frissitettem nehany dolgot a script-ben, amit mar tobben is kertek.
Ha talaltok vmi hibat irjatok github issue-t.
https://github.com/wolandmaster/dijnet-dump
Köszönöm a bitközség nevében!
...ööö, nem akarom széttrollkodni a dolgot, de egyébként miért szoktátok lementeni ezeket a számlákat? Mi a célja?
Ó, hogy a hatalmas Kublaj kán üssön rajtad, és a házad népén!
Voltaképpen anyámtól tanultam. Mindig elrakta a régi számlákat, 10+ évre visszamenőleg. Nem tudom, valaha is szüksége volt-e bármelyikre is.
De minthogy ez nem papír, hanem e-számla, így elfér. Ha papír lenne, nem hiszem, hogy egy évnél régebbit őrizgetnék, de így meg elvan a gépen.
"Hátha egyszer szükség lesz rá"
http://www.micros~1
Rekurzió: lásd rekurzió.
Nekem épp most azért jött jól, mert fél éve hőszigetelték a (100 lakásos) házunkat, a távfűtés számlán pedig rajta van a teljes ház hőfelhasználása. Mivel le volt töltve a számla, könnyen vissza tudtam nézni, hogy az előző pár évhez képest mennyivel volt kevesebb a hőfelhasználás januárban. (Ez az adat sokkal többet elmond az energetikai változásról, mintha csak a saját lakásom fűtés költségét nézném.)
De érdekes volt visszanézni az elektromos fogyasztás változását hűtőszekrény csere valamint LED-re váltás után is. Ez utóbbiakhoz persze elég lett volna, ha van havonta vezetett mérőállásom, de a ház hőfelhasználását biztos eszembe nem jutott volna havonta írogatni.
Erre elég egy jó PFM alkalmazás, amibe persze be kell pakolni az adatokat. Sajnos a szép emlékű Csekkoló megszüntetésre került (2015-ben indult, Posta-Díjnet közös "gyermek" volt, szerintem kifejezetten jól kitalált és összerakott rendszerként), pedig az pont erre nagyon jó megoldást nyújtott - igaz, a "rezsicsökkentés"-t, mint olyat valahogy nem sikerült látnom a számokban...
Ez mondjuk igaz, bár esetemben kicsit túllövés lenne a célon. A megőrzött számláknak köszönhetően ki tudtam következtetni pár érdekes információt, ami a későbbiekben egy támpont lehet hasonló döntéseknél, de ennél több energiát beletenni nem látom értelmét.
Nem ebbe a topikba tartozik, de akkor már, ezek a következtetések: panelház 16 cm hőszigetelés után 30%-al csökkent a hőfelhasználás, ami sokkal kevesebb, mint amire számítottam volna. Nem közismert, de ezek a panelek úgy épültek, hogy a homlokzati panel elemek tartalmaznak egy 8 centis EPS hőszigetelést, ami ugyan nem hőhíd mentes, de – most hogy rákerült a 16 cm homlokzati, látszik igazán – meglepően sokat szigetel. A hűtőszekrény csere durván havi 25 kW-ot hozott, ez garantáltan megtérülős kategória. A világítás csere mérhetetlen ilyen módon, a havi számlán sokkal inkább meglátszik, ha párral többet vagy kevesebbet megy a mosógép vagy a sütő, szóval a LED-re váltás inkább a lelkemnek megnyugtató.
...jó, de egyrészt a díjnet is őrzi, másrészt meg ha utalással csinálja az ember, akkor a számlakivonaton is ott van a megfizetés ténye (másra nem nagyon lehet szükség). Tehát ha évente egyszer lementi az ember az egy szem xls/pdf/csv fájlt a netbankról, akkor ott van minden. Kereshető, színes, szagos. Úgy nem kell egyesével baszakodni / programot írni a díjnetes számlák beszerzésére.
Ó, hogy a hatalmas Kublaj kán üssön rajtad, és a házad népén!
Abból is látszik a képzavar, hogy a "megfizetés ténye" nincs mindig a számlán. ;)
A számlára szükség lehet, ha
A szolgáltatókra érvényes elévülési időn belül a Díjnet tárolja a számlákat, amelyek néhány kattintással letölthetők. Ha elszámolod, akkor évente úgy is letöltöd és csatolod a könyveléshez. Ha csak gyűjtöd, akkor is megteheted. Az utóbbi helyett bármikor online megnézheted és letöltheted, ha szükség van rá. A szolgáltatók évente kötelesek elszámolni még akkor is, ha pl. 3 havi számlát bocsátanak ki egyszerre.
Nem online számlabemutatásnál van még egy eset: Ha a számla hamis. Na, ez érdekes jogi helyzetet teremt! Ha befizetted a hamis számlát és ezt igazolni tudod, akkor győztél. ;)
Ok, a nagyja akkor világos, kivéve ezt:
"Abból is látszik a képzavar, hogy a "megfizetés ténye" nincs mindig a számlán. ;)"
Ha ott az én számlaszámom, amiről indult a pénz, valamint a célállomás, meg az elutalt összeg plusz a közleményben az azonosító, akkor szerintem ez csak azt jelentheti, hogy ki lett fizetve a számla. ;) Vagy nem?
Ó, hogy a hatalmas Kublaj kán üssön rajtad, és a házad népén!
Nem.
Olvasd végig figyelmesen a felsorolást!
Fizethetsz hibás összeget is, pl. 10000 helyett csak 1000 megy az utalással.
Az azonosító megint egy buktató lehet. Van fix díjas szolgáltatás, ahol lehet állandó azonosító. A többinél meg ügyfelenként és számlánként más az azonosító. Az utóbbit számla nélkül ki sem tudod találni.
A pontos összeg még fix összegnél sem biztos. Hibázhat a szolgáltató rendszere is, "előkerülhet" valamilyen "rejtett" tartozás is. ;)
Rokon 90-es években hitelből házat épített. Idővel kifizette, a banki jelzálog lekerült róla, minden földhivatali bejegyzés rendeződött. Minden csekket eltett. Közel 20 évvel később az OTP-nek az EOS faktora elkezdett ugatni a magas lóról meg fenyegetőzni, hogy kb fél milliós tartozás van még ebből a hitelből és rendezzük. Először ráhozta a frászt a rokonra. Aztán kapcsolt, hogy megvannak a csekkek. Előkereste és elküldte őket az anyjukba. Azóta csendben vannak, de egy elnézést, adminisztrációs hiba/hülyék voltunk semmi nem jött vissza. Azért okozott neki pár gyomorgörcsös hetet. Papírország, basszus, papírország ez még mindig.
Ha papírral nem tudod igazolni az igazadat, átvernek. Aztán ha igazoltad, jön a jaj a számítógépben rosszul volt c. duma. Jártam így a Fibernettel is. Tróger banda volt az is.
Én a papírt nem teszem el, mert 2x akkora lakóterület kellene a végén, de ledarálás előtt lefényképezem és mindet archiválom.
5 év alatt elévült a követelés, igazából erre is hivatkozhatott volna gyomorideg helyett.
Nálam ilyen próbálkozás talán egy vagy kettő volt, de soha nem kellett még csekkeket keresgélnem, küldözgetnem. Eddig elég volt a banki kivonat másolata (pdf), vagy csak szimplán emailben jelezni az utalások pontos dátumát, hogy hol keressék a pénzület. (Jó, persze húsz évvel ezelőtt ez még más lehetett.)
A legdurvább a helyi önkormányzat teljesen inkompetens adóügyi előadója, akinek nagyon nehezére esett felfognia, hogy egy iparűzési adó befizetésénél neki elég a befizetőazonosítót és az összeget néznie, teljesen lényegtelen BÁRMILYEN szempontból, hogy a küldő számlaszám kinek a nevén van. Konkrétan: a feleségem nevén van a számla, közösen használjuk, és az előadó hölgy nem tudta hova lekönyvelni a beérkező összeget, mert nem tudta kilogikázni, hogy a szmlatulajdonos "Mászógépné" az nyilván az adóalany "Mászógép" hites felesége. Ráadásul, ismétlem, ha azt "XY Jani" számlájáról fizetik be, az adózási szempontból továbbra is mindegy. Ők is mindenféle papírokat akartak, de végül elnézést kértek, amikor valaki elmagyarázta neki, hogy mit basz el.
Nekem pont az a véleményem, hogy ez a fenenagy digitalizáció igenis egyértelműbbé tette az efféle ügyintézéseket, mindenféle papírfecnik keresgélése nélkül is. :)
Ó, hogy a hatalmas Kublaj kán üssön rajtad, és a házad népén!
Az elévülést köszi. Futottam egy kört a neten. Lejött a lényeg, résen kell lenni. Most már megvan a "játszma".
1- nagy köszönet a munkádért
2- bug report:
- Ha egy számlaszolgáltató (pl DBH Zrt) több szolgáltató számlázását is ellátja (pl FV, NCSM, NKHV) akkor háromszorosan tölti le a számlákat
- cygwin install esetén a szintaxisból hiányzik a vessző: setup-x86_64.exe -qP wget,xxd,libxml2,pv
"The only valid measurement of code quality: WTFs/min"
Az INVOICE_PROVIDER_ALIAS-nak szerintem INVOICE_ISSUER_ALIAS-nak kellene lennie...mert ha jól értelmezem ez az érték nem más, mint a ekonto/control/regszolg_list-en megadott "megjelenési név" ami a INVOICE_ISSUER_ID-nak a user defined/readable formája.
Tippre emiatt pakolja bele a INVOICE_PROVIDER könyvtárba az összes, azonos ISSUER-hez tartozó számlát.
Ja, és a https://www.dijnet.hu/ekonto/control/szamla_search_submit oldalon a Díjnet is elbökte mert a "Számlakibocsátói azonosító" oszlop, valójában a user által megadott INVOICE_
PROVIDERISSUER_ALIAS...nem pedig a fejléc által sugallt INVOICE_ISSUER_ID.Ha jobban érteném mit csinál script, javítást is küldtem volna, de egyelőre ennyire tellett tőlem :/
Hátha valaki előrébb jut vele.
"The only valid measurement of code quality: WTFs/min"
Valamit megint baszakodott a dijnet, úgy nézem :(
login... HTTP/1.1 406 Not Acceptable
Date: Thu, 11 Aug 2022 08:47:21 GMT
Content-Type: text/html
Content-Length: 156
Connection: close
Server: HTTP-Server
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin
Strict-Transport-Security: max-age=31536000
Front-End-Https: on
Set-Cookie: HAPROXY_SESSION=as41|YvTCH; path=/; HttpOnly; Secure
ERROR: login failed ()
http://www.micros~1
Rekurzió: lásd rekurzió.
Szintén zenész.
ez talan segit:
Igen, kösz, közben a githubon javítva is lett.
user-agent kellett neki
http://www.micros~1
Rekurzió: lásd rekurzió.
megáll a PROVIDER_JSON olvasásásnál?
Nálam is megállt. De sajnos nem látom át a kódod.
Ebbe a ciklusba nem lép be. Pár perces debuggolás után szerintem ez a patch jó lesz:
Ha jól látom, a clickSzamlaGTM függvény neve változott clickSzamla-ra.
Köszi a fixet! Csináltam PR-et hozzá: https://github.com/wolandmaster/dijnet-dump/pull/43
Ah, köszi. Nem vagyok nagy github-varázsló, reggel most lusta voltam megnézni, hogy is kell.
Semmi gond, én meg bár pár napja/hete már láttam, hogy nem jönnek le a díjnet számlák nem volt kedvem utána menni mi a gond, vártam, hátha valaki megoldja. Hát megoldotta :) Nekem a github-os rész volt pár perc kipróbálással együtt :)
Köszi a javítást, be is engedtem.
Bocs, githup update után jó
http://www.micros~1
Rekurzió: lásd rekurzió.