Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Programm erstellen für Dateidownload von geschützter Webseite und modifiziert in lokale SQL-DB schreiben

Mitglied: chef1568

chef1568 (Level 1) - Jetzt verbinden

31.01.2013, aktualisiert 13:06 Uhr, 2911 Aufrufe, 8 Kommentare

Hallo,

Ich seh gerade den Wald vor lauter Bäumen nicht^^

Ziel ist über eine CSV-Datei aus dem Internet Daten in einer lokalen SQL-Datenbank upzudaten.
Dazu sind folgende Arbeitsschritte erforderlich:
1. Anmelden an einer Webseite (Downloadbereich nur für angemeldete Benutzer verfügbar)
2. Starte Erstellung der CSV-Datei (mittels php-script auf der Homepage)
3. Diese Datei (variabler Dateiname) downloaden
4. Datei öffnen und ausgewählte Spalten in eine SQL-Datenbank schreiben

wie kann ich das am saubersten umsetzen?
- batch
- autoit
- VBS
- ...


vielen Dank schonmal für die Hilfe
Mitglied: Maveric
31.01.2013 um 13:19 Uhr

Das ist für den Download super :=), wäre auch meine Empfehlung.



Des Wieteren -------
Das Schreiben in deine MySQL DB machst du per Perl Skript.
Dabei iterierst du einfach durch die CSV und wendest auf
jede Zeile in der CSV einen Regex Ausdruck an. Dieser ist so
aufgebaut das er dir für jede Spalte Gruppen zurück gibt. Diese
kannst du abgreifen und über ein MySQL Statement in Perl direkt in
die DB schreiben.

Ich empfehle dir dazu noch, wenn deine
CSV mehr als 1000 Einträge hast, einen Batch Insert in dem Skript
zu bauen. Mit anderen Worten... Du baust ein Insert das so aussieht:

INSERT INTO table_name
VALUES (value1, value2, value3,...),(value1, value2, value3,...),(value1, value2, value3,...),(value1, value2, value3,...)

Gute Werte für so ein Insert sind bis zu 10.000 Wertepaare pro Insert.
Der Vorteil von dieser Methode ist, das er nicht für jedes einzelne Wertepaar
ein Insert vorbereiten muss. Du sparst enorm viel Zeit.

Nur damit du eine Einschätzung hast. Wenn du 50000 Zeilen einzeln in eine
DB schreibst dauert das ca 20min. Schreibst du 5 * 10000 in eine DB dauert das
15sec.

Viele Grüße Maveric
Bitte warten ..
Mitglied: chef1568
01.02.2013 um 14:07 Uhr

Hallo und danke schonmal für die Info.
Habe gestern wget installiert und lange probiert - aber es kommt immer zu Fehlermeldungen (bei deinem Beispiel "Port fehlt")
Mit anderen Befehlen wird entweder abgebrochen oder eine Datei gedownloaded mit dem Inhalt: "Autorisierung fehlt"


Hier die Anforderung an den Befehl:

1. login auf Seite: http://example.com/ --> mit "Post"
<form id="loginbox" method="post" action="http://example.com/login.php?action=process;>"
....
<input type="text" name="email_address" maxlength="50" style="width:170px;" />
...
<input type="password" name="password" maxlength="30" style="width:80px;" />
<input type="image" src="/button_login_small.gif" alt="Anmelden" title=" Anmelden " />
...
</form>
2. Anstoß zum Erstellen der CSV-Datei mit http://example.com/getExportCSV.php
3. Downloaden der erstellten Datei

Danke schonmal für die Hilfe
Bitte warten ..
Mitglied: Epixc0re
01.02.2013, aktualisiert um 14:11 Uhr
Login
wget --save-cookies=ZIELDATEI --post-data="POST_DATEN" http://URL


Download
wget --load-cookies pfad_zum_cookie download_link
Bitte warten ..
Mitglied: chef1568
01.02.2013 um 14:40 Uhr
Vielen Dank für die Antwort, werde ich später gleich mal ausprobieren.

Die beiden Befehle rufe ich ja bestimmt über eine Batch auf...
Gestern hatte ich das Problem, dass beim wget über ne Batch der Befehl X-Mal gesendet wurde - warum auch immer^^

@echo off
wget ...........
pause
Bitte warten ..
Mitglied: chef1568
05.02.2013, aktualisiert um 12:26 Uhr
Hallo nochmal,

habe leider noch Probleme mit dem Login.
Hab jetzt folgenden Befehl:
wget --keep-session-cookies --save-cookies cookies.txt --post-data "email_address=@.de&password=" http://example.com

Daraufhin kommt aber folgende Meldung:
...
HTTP Anforderung gesendet, warte auf Antwort... 200 OK
Länge: nicht spezifiziert [text/html]
In >>index.html<< speichern.
....

die cookies.txt enthält folgenden Inhalt:
  1. HTTP cookie file.
  2. Generated by Wget on 2013-02-05 00:22:05.
  3. Edit at your own risk.

.example.com TRUE / FALSE 0 XTCsid


anscheinend klappt der login noch nicht ganz
wenn ich die cookies.txt wieder lade und das erstellen der CSV anstoße wird mir die Datei mit folgendem Inhalt erstellt:
ERROR: Not logged in!
Bitte warten ..
Mitglied: Epixc0re
05.02.2013 um 09:04 Uhr
Hallo,

dann verrate uns bitte zunächst:

a.) welche Software das ist wo Du dich einloggst (HTML Sample vom <form> Tag)
b.) welche Befehle Du genau ausgeführt hast.

Denn, ein spezifischer Ratschlag ohne diese Details ist nicht mehr möglich.
Bitte warten ..
Mitglied: chef1568
05.02.2013, aktualisiert um 12:27 Uhr
a) habe ich bereits oben gepostet:
<form id="loginbox" method="post" action="http://example.com/login.php?action=process;>"
....
<input type="text" name="email_address" maxlength="50" style="width:170px;" />
...
<input type="password" name="password" maxlength="30" style="width:80px;" />
<input type="image" src="/button_login_small.gif" alt="Anmelden" title=" Anmelden " />
...
</form>
Die eingesetzte Software ist xtcModified eCommerce Shopsoftware

b) und der Befehl:
wget --keep-session-cookies --save-cookies cookies.txt --post-data "email_address=@.de&password=" http://example.com

mfg
Bitte warten ..
Ähnliche Inhalte
Datenbanken

Europa Länder DB in Webseite einfügen ? Woher die DB ?

Frage von bob777Datenbanken8 Kommentare

HI Bastle gerabe an einer Seite CMS da kann man dann per Hand alle Länder einfügen ich brauche aber ...

Datenbanken

SQL 2000 DB ist Fehlerverdächtig

Frage von franksigDatenbanken3 Kommentare

Hallo Ich habe einen alten SQL 2000 bei dem wohl eine DB defekt ist im Management Studio Express ist ...

Webbrowser

Daten in entfernte Mysql DB schreiben

gelöst Frage von nullacht15Webbrowser3 Kommentare

Hi, ich beschäftige mich derzeit mit einem System, bestehend aus einigen Sensoren, welches Daten regelmäßig ausliest und diese in ...

Windows Server

SQL Server verlangsamt Programme mit lokalen Dateizugriff

Frage von AndreasOCWindows Server2 Kommentare

Hallo, wir haben hier ein komisches Problem. Und zwar wird ein Programm auf Dauer immer langsamer was einen Hintergrundprozess ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 2 TagenWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 2 TagenAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 3 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 3 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Router & Routing
Router auf Orginal Firmware zurück flashen mit Tftpd
Frage von ILeonardRouter & Routing21 Kommentare

Hallo, Ich habe zwei Router, einmal TP-Link 841n v11 und TP-Link 940N v5. Ich wollte fragen, ob jemand mir ...

Router & Routing
WRT keine Verbindung zum Web Interface
gelöst Frage von ILeonardRouter & Routing18 Kommentare

Hallo, Ich habe einen TP-Link WR841n mit wrt geflasht, das Problem ist ich kann mich mit 192.168.1.1 nicht verbinden. ...

Windows Server
Standortvernetzung zu einem Strato VServer (Windows)
Frage von matzefratze81Windows Server10 Kommentare

Moin, ich komme aus einem Enterprise-Umfeld und habe den Fehler gemacht, dass ich mich auf ein kleines Unternehmen eingelassen ...

TK-Netze & Geräte
Telefonie zweier Fritzboxen mit je eigenem DSL Anschluss verbinden
Frage von hannsgmaulwurfTK-Netze & Geräte10 Kommentare

Hallo zusammen, ich habe hier einen Haushalt mit zwei Anschlüssen. Einmal ISDN, einmal DSL. An jedem Anschluss hängt eine ...