Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

Daten von Webseite Exportieren und In Excel oder Access schreiben mit Automatischen Aktualisierungen

Frage Internet Webbrowser

Mitglied: sigisigi

sigisigi (Level 1) - Jetzt verbinden

29.01.2014 um 17:43 Uhr, 2044 Aufrufe, 9 Kommentare, 1 Danke

Hallo Zusammen

Bitte flippt nicht gleich aus und verweißt mich auf Google oder sagt ich soll die Suchfunktion benutzten. Den das habe ich schon gemacht. Google liefert nichts brauchbares und die einzigen Artikel hier die auf dieses Thema verweisen sind ungenau beschrieben oder nicht vollendet.

Mein Ziel:

Ich habe mir das ganze so vorgestellt, dass ich Informationen von einer Webseite auslesen kann und Sie mir diese schön strukturiert in ein Excel oder Access File schreibt. (Ja ich kenne die Funktion von Excel die es ermöglicht Daten von Webseiten zu importieren) Funktioniert nur nicht ganz so wie ich mir das vorstelle.
Im Grunde geht es darum, dass ich eine Rangliste exportieren möchte und diese allwöchentlich automatisch Aktualisiert und in eine andere Mappe, Tabelle geschrieben wird.
Ich müsste dann im Grunde nur noch die Tabelle öffnen und auswerten.

Mein Gedanke dahinter war, dass ich für mich selbst eine Statistik machen kann und besser festhalten kann wer sich wie entwickelt hat.

ICH BRAUCHE ES NICHT ZUM BETRÜGEN!!!
Falls jemand daran denkt. Ich möchte sie auf keinen Fall einsetzen um mich selbst zu bereichern.

Falls jemand eine Idee hat wie ich das verwirklichen kann und mir dies Miteilt bin ich sehr Dankbar.
Oder falls jemand doch einen brauchbaren Link zu diesem Thema findet bin ich ebenfalls Dankbar.

Freundliche Grüsse
sigisigi
Mitglied: colinardo
29.01.2014 um 18:11 Uhr
Hallo sigisigi,
das ist eigentlich kein Problem, kommt immer drauf an wie komplex der Teil ist, den es zu extrahieren gillt. Aber grundsätzlich eine simple Scripting-Aufgabe. Schick doch mal einen Link zur Seite und den Teil den du extrahieren möchtest.
Dir jetzt hier alle nötigen Dingen zu erläutern die du dafür können musst würde den Rahmen hier sprengen. Wenn du etwas Powershell verstehst kann ich dir gerne zeigen wie man damit bestimmte Tags aus Webseiten extrahieren kann.

Grüße Uwe
Bitte warten ..
Mitglied: sigisigi
29.01.2014 um 18:19 Uhr
Hallo

http://ch23.staemme.ch/guest.php?screen=ranking

So zu Powershell. Ich habe gerade erst begonnen in meiner Freizeit mir selbst das Powershell beizubringen. Ich komme kaum voran da ich mich momentan noch auf viele weitere Dinge Konzentrieren muss.
Die Ausbildung vordert mich sehr. Und da ich lieber etwas gut mache als 100 Sachen schlecht habe ich das Powershell erstmals beiseite gelassen und meine Kenntnisse sind beinahe gleich "Null"

Ich dachte ich warne dich vor, da es eine Menge Zeit in Anspruch nehmen wird bis ich verstehe was du mir zu erklären versuchst.

sigisigi
Bitte warten ..
Mitglied: colinardo
29.01.2014, aktualisiert um 18:22 Uhr
brauchst du alle Spieler aus der Ranglisten-Tabelle (also alle Subseiten) oder nur z.B. 1-25 ?
Bitte warten ..
Mitglied: sigisigi
29.01.2014 um 18:30 Uhr
Vorzugsweise alle.
Bitte warten ..
Mitglied: colinardo
29.01.2014, aktualisiert um 20:50 Uhr
Bitteschön ....
Fürs Beispiel extrahiert es erst mal die ersten 200 Spieler / lässt sich in Zeile 2 des Scripts anpassen (muss ein mehrfaches von 25 sein)
In Zeile 3 wird das Excel-File angegeben in das die Daten in ein neues Sheet importiert werden. Existiert das File noch nicht wird es automatisch erstellt.
(benötigt min. Powershell 3.0)
01.
# Maximal zu extrahierende Anzahl an Spieler(muss durch 25 teilbar sein) 
02.
$maxplayers = 200 
03.
$pathDataFile = "C:\Daten.xlsx" 
04.
#----------------- 
05.
$site = 0 
06.
$players = @() 
07.
write-host "Lade Seiten und extrahiere die Spieler ..." -BackgroundColor White -ForegroundColor Blue 
08.
for ($i = 0; $i -lt ($maxplayers / 25); $i++){ 
09.
    $result = Invoke-WebRequest "http://ch23.staemme.ch/guest.php?screen=ranking&mode=player&offset=$site" 
10.
    $table = $result.AllElements | ?{$_.class -eq "lit-item"} | %{$_.innerText} 
11.
    $pos = 0 
12.
    for ($x = 0;$x -lt 25; $x++){ 
13.
        $rang = $table[$pos] 
14.
        $name = $table[$pos+1] 
15.
        $stamm = $table[$pos+2] 
16.
        $punkte = $table[$pos+3] 
17.
        $dörfer = $table[$pos+4] 
18.
        $punkteschnitt = $table[$pos+5] 
19.
        $players += New-Object PSObject -property @{"Rang"=$rang;"Name"=$name;"Stamm"=$stamm;"Punkte"=$punkte;"Dörfer"=$dörfer;"Punkteschnitt"=$punkteschnitt} 
20.
        $pos += 6 
21.
22.
   $site += 25 
23.
24.
$players |select Rang,Name,Stamm,Punkte,Dörfer,Punkteschnitt | export-csv "$env:TEMP\players.csv" -Delimiter ";" -Encoding UTF8 -NoTypeInformation 
25.
 
26.
write-host "Füge Daten in Excel-Sheet ein ..." -BackgroundColor Green -ForegroundColor White 
27.
$Excel = new-object -com Excel.Application 
28.
$Excel.visible = $false 
29.
$Excel.DisplayAlerts = $false 
30.
if (Test-Path $pathDataFile){ 
31.
    $docDaten = $Excel.Workbooks.Open($pathDataFile) 
32.
}else{ 
33.
    $docDaten = $Excel.Workbooks.Add() 
34.
    $docDaten.SaveAs($pathDataFile) 
35.
36.
$docTemp = $Excel.Workbooks.Open("$env:TEMP\players.csv") 
37.
$docTemp.Worksheets.Item(1).Range("A:F").Copy() 
38.
$newSheet = $docDaten.Worksheets.Add() 
39.
$newSheet.Name = (get-date -Format "dd.MM.yyyy hh.mm.ss") 
40.
$newSheet.Paste($newSheet.Range("A1")) 
41.
$docTemp.Close($false) 
42.
$docDaten.Save() 
43.
$Excel.DisplayAlerts = $true 
44.
$Excel.visible = $true
Grüße Uwe
Bitte warten ..
Mitglied: sigisigi
30.01.2014 um 20:11 Uhr
Du bist der beste =)
Danke dir vielmals.
Ich kann es leider frühstens am Montag Testen =(

Aber dann gebe ich gleich Rückmeldung

sigisigi
Bitte warten ..
Mitglied: sigisigi
04.02.2014 um 10:04 Uhr
Hallo Uwe

Irgendwie klappt es mit dem Script bei mir nicht.
Wenn ich das Script mit Power Shell ausführe passiert ganz kurz etwas und dann ist wieder tote Hose und es wurde kein Excel File erstellt und auch keine anderen Dateien.

Ich weiss diese Erklärung ist sehr ungenau aber die Meldung ist einfach zu schnell wieder weg bevor ich sie mir genauer anschauen kann.

Kommt bei dir auch eine Fehlermeldung?
Bitte warten ..
Mitglied: colinardo
04.02.2014, aktualisiert um 10:08 Uhr
Irgendwie klappt es mit dem Script bei mir nicht.
(benötigt min. Powershell 3.0) s.o.

Kommt bei dir auch eine Fehlermeldung?
nope, sonst hätte ich es hier nicht gepostet ...

Meldung ist einfach zu schnell wieder weg bevor ich sie mir genauer anschauen kann.
dann führe das Script in einer Konsole aus ...dann siehst du die Fehlerausgabe
Bitte warten ..
Mitglied: sigisigi
04.02.2014 um 12:35 Uhr
Super hat nun alles Funktioniert. Der Fehler lag darin das ich noch nicht eingestellt habe, dass das Ausführen von Scripten erlaubt ist.
Funktioniert so wie ich es mir vorgestellt hatte.
Danke dir vielmals.

LG
sigisigi
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Webbrowser
gelöst Daten in entfernte Mysql DB schreiben (3)

Frage von nullacht15 zum Thema Webbrowser ...

Microsoft Office
gelöst Excel Daten automatisch in mehrere Exceldateien exportieren (9)

Frage von paggo69 zum Thema Microsoft Office ...

Batch & Shell
gelöst Loginzeiten aus dem Ereignisprotokoll in Excel schreiben (1)

Frage von l-Ne0n zum Thema Batch & Shell ...

Microsoft Office
Aus Outlook 2013 Daten aus Tabellenfeldern in Excel übertragen (7)

Frage von ich2110 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...