Hilfe
abbrechen
Suchergebnisse werden angezeigt für 
Stattdessen suchen nach 
Meintest du: 

Postbox-Sammeldownload ? codipodo !

dg2210
Legende
6.230 Beiträge

Eine Funktion, die ich bei der comdirext seit langem vermisse, ist der Sammeldownload von Dokumenten aus der Postbox.

 

Ich habe mir deswegen ein kleines tool gebastelt, mit ich ich vollautomatisch die PDF-Dokumente aus meiner Postbox abholen kann (zumindest die Dokumente auf der ersten Seite der Postbox).

 

Ihr findet die aktuelle Version am Ende dieses beitrags und unter

https://github.com/dg2210/comdirect/blob/master/codipodo.rb

 

Es ist sofort einsatzbereit, nachdem ihr Kundennummer und PIN eingetragen habt.

 

Systemvorrausetzungen:

irgendetwas PC- oder Workstation-artiges mit halbwegs aktuellem Ruby-Interpreter (z. B. Version 2.0)  und dazugehöriger "mechanize"-Bibliothek (Ergänzung vom 07.06.18: OpenSUSE-Anwender schalten bitte per YaST das Repository Ruby Extensions (openSUSE_Leap_42.3) ein um die "mechanize"-Bibliothek installieren zu können)

 

Aufruf

ruby codipodo.rb

Das Programm erwartet keine Parameter und sollte regemässig automatisch, z.B. täglich in den frühen Morgenstunden einmal aufgerufen werden.

 

FAQ

F: Warum Ruby? Warum "mechanize" ?

A: Ich mag es nicht, wenn ich meine Zugangsdaten einem Programm anvertrauen muss, das ich nicht verstehe. Darum war mein Hauptziel, ein kurzes, auditierbares, auch von Nicht-Experten zu verstehendes Werkzeug zu schaffen, das möglichst plattformunabhängig ist. Die "mechanize"-Bibliothek (zusammen mit dem ruby-Interpreter) erfüllt diese Anforderungen.

 

F: Was macht codipodo?

A:  Bis Zeile 31 werden ein paar Konstanten definiert: die festen URLs der comdirect und der Ordner, in den die Dokumente gespeichert werden sollten (Voreinstellung: comdirect-postbox).

In Zeile 33 wird ein neuer Webbrowser gestartet und in Zeile 34 die Voreinstellung für den Umgang mit PDFs auf "Download" geändert.

Ab Zeile 36 gehen wir auf die Login-Seite, füllen das Formular aus und schicken es ein Zeile 41 ab.

 

Falls wir nicht im Persönlichen Bereich angekommen sind, beenden wir die Sache, anderfalls wechseln wir zur Postbox (Zeile 49)

 

In Zeile 53-56 klicken wir auf alle links, die den Text "dokumentabruf" in ihrer URL enthalten. Diese werden automatisch gespeichert (s.o.)

 

F: Warum lädt das codipodo nur PDF-Dateien?

A: Bei der comdirect sind Wertpapier/Ordermitteilungen als PDF hinterlegt, termingebundene Mitteilungen und Werbung aber nicht. Das tool kümmert sich nur PDFs, weil man bei den anderen Mitteilungen noch auf ein paar links klicken müsse und das tool nicht erkennen kann, ob damit evtl. unerwünsche Aktionen ausgelöst werden.

 

F: Warum lädt codipodo nur die erste Seite der Postbox?

A: Die "nächste Seite" Funktion der Postbox ist kein normaler link, sondern ein Stück schwarzer Javscriptmagie. Beim unvorsichtigen Umgang damit besteht die Gefahr, dass das tool in eine Endlosschleife gerät und Millionen von Anfragen an die comdirect schickt, was von deren System möglicherweise als dos-Attacke missverstanden werdenn kann. So wie es jetzt ist, terminiert das Programm nach spätestens 20 Downloads. 

 

F: Gibt es support?

A: Falls genügend Nachfrage besteht, werde ich einen kostenpflichtigen Support anbieten.

 

 

# COmDIrect-POstfach-DOwnloader: codipodo
# Dieses Programm holt die PDF-Dokumente der ersten Seite der Postbox
# und legt sie im Ausgabeverzeichenis (s.u.) ab

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

require 'mechanize'

# LOGINDATEN, bitte anpassen
ID = "1234578"  # Comdirect-Zugangsnummer
PIN = "123456"  # Comdirect-PIN

# Ablageort der heruntergeladenen Dateien
DIRECTORY="comdirect-postbox"

# Feste URLs der Comdirect
LOGINURL="https://kunde.comdirect.de/lp/wt/login"
LOGOUTURL="https://kunde.comdirect.de/lp/wt/logout"
POSTBOX_URL="https://kunde.comdirect.de/itx/posteingangsuche"
SUCCESSPAGE="https://kunde.comdirect.de/itx/persoenlicherbereich/anzeigen?execution=e1s1"

  @agent = Mechanize.new
  @agent.pluggable_parser.pdf = Mechanize::DirectorySaver.save_to(DIRECTORY, :overwrite => true)
  
  @agent.get(LOGINURL) do |page|
     login_result = page.form_with(:name => 'login') do |log|
       log.add_field!("loginAction", "loginAction")
       log.param1= ID
       log.param3 = PIN
     end.click_button

     # Sind wir auf der richtigen Seite gelandet?"
     if login_result.uri.to_s != SUCCESSPAGE
       puts "Login fehlgeschlagen,  aktuelle URL: #{login_result.uri.to_s}"
       break
     end

    @agent.get(POSTBOX_URL)

    # Nur Eintraege, deren URL "/dokumentenabruf/" enthält, abholen,
    # d.h. Werbung oder andere nicht-downloadbare Elemente überspringen
    @agent.page.links_with(:href => /dokumentenabruf/).each do |link|
      link.click
    end
  end
  @agent.get(LOGOUTURL)

 

36 ANTWORTEN

Tarulia
Mentor ★
1.112 Beiträge

Technisch wäre es schon möglich es weiterzuführen.

 

Bei pTAN speichert man die Grafik, zeigt sie an zum abscannen und fügt dann den code ins Eingabefeld. Danach wird die lokale Grafik gelöscht. Bei mTAN brauch man es ja nur eingeben.

 

Funktioniert natürlich nicht mehr mit Automation wenn man sich da nicht was komplexes überlegt...

 

Frage ist halt ob man sich den Aufwand machen möchte 🙂

Senshi
Autor ★★
15 Beiträge

Falls es noch jemand interessiert: Habe ein Skript geschrieben, dass den Postboxdownload auch mit der photoTAN (und über längere Zeiträume/mehr Seiten) hinbekommt:

 

/t5/Website-Apps/Tool-für-Postbox-

Sammeldownload-mit-photoTAN/m-p/91070

dsmr
Autor ★★★
65 Beiträge

Interessiert mich sehr, aber kann es sein, daß bei der URL was fehlt?

FloHallo
Autor ★
8 Beiträge

dg2210
Legende
6.230 Beiträge

Update:

Ich habe nun eine "saubere" Lösung, welche die offizielle REST-Schnittstelle benutzt:

 

Postbox-Sammeldownload 

DonQuijote
Autor ★★
18 Beiträge

Hallo, für diejenigen, denen das hier zu hoch ist. Ich habe diese Anleitung gefunden, wie man zumindest alle PDFs auf einer Seite auf einmal runterladen kann: https://www.youtube.com/watch?v=DizG8tnEkYQ 

Dann geht es ein bisschen schneller als einzeln.

 

Edit: Ich merke gerade, dass das bei comdirekt so nicht funktioniert, aber ich weiß nicht, wie ich diesen Kommentar löschen kann. 

 

Edit 2: OK, jetzt aber. Mit der Chrome Extension "DownThemAll!" (https://chrome.google.com/webstore/detail/downthemall/nljkibfhlpcnanjgbnlnbjecgicbjkge/related) klappt es auch hier. 

FakeAccount
Mentor
757 Beiträge

Unfassbar! Mein Nachbar nmh verbreitet unhaltbare Gerüchte über den Sammeldownload in der Postbox. Angeblich soll das ab übermorgen klappen.  Bitte hier klicken.

 

Hochachtungsvoll

der Nachbar von nmh