Hallo Phytongemeinde
Ich bin Python Neuling und tue mich etwas schwer mit dem Auslesen eines bestimmten Webseiteninhalts.
Worum geht es genau:
Ich habe einen Drucker auf dessen WebGUI sich auf mehrere Seiten verteilt die Seitenzahlen von Farb- und Schwarzweissdruck, Kopie und Scan auslesen lassen und zwar
für verschiedene ID Codes wie z.B. 101, 102 und 999 wie im HTML Auszug unten ersichtlich.
Wie ich den HTML Code mit Python auslesen kann weiss ich (habe mir dazu das Python Programming Tutorial 25-27 How to build a webcrawler von Thenewboston auf youtube durchgearbeitet).
Da die Struktur der Auszulesenden Webseite doch etwas komplizierter ist als diejenige die im Tutorial beschrieben wurde, stehe ich etwas am Berg.
Ich habe es bereits mit VBA in Excel und Regular expressions versucht, bin da aber nicht auf eine geeignete Lösung gestossen und frage mich nun, ob es eventuell in Python gar einfacher möglich wäre.
Wie ich die gewünschten Inhalte dann in die CSV Datei speichern kann, weiss ich im Moment nur bedingt, wenn Ihr mir aber schon mal beim Durchscannen der Seite und dem Finden und Zuweisen der Inhalte (Drucksummen, Kopiensummen, Schwarzkopien, Farbkopien zur entsprechenden ID) behilflich sein könntet wäre mir schon echt geholfen.
Die fixen URLs der verschiedenen Seiten von 0 bis 9 sind bekannt, ich kann mir diese denke ich in ein Listenelement einlesen und abarbeiten lassen.
{
document.writeln('<colgroup>');
( "true" != NewCardStat ) ? document.writeln('<col class="SelectColumn" \/>') : document.writeln('<col class="BumonIDColumn" \/>');
( "true" != NewCardStat ) ? document.writeln('<col class="BumonIDColumn" \/>') : document.writeln('<col class="CardIDColumn" \/>');
document.writeln('<col class="TotalPrintColumn" \/>');
document.writeln('<col class="TotalColorPrintColumn" \/>');
document.writeln('<col class="TotalMonocloPrintColumn" \/>');
document.writeln('<col class="ColorCopyColumn" \/>');
document.writeln('<col class="ColorScanColumn" \/>');
document.writeln('<col class="ColorPrintColumn" \/>');
document.writeln('<col class="MonocloCopyColumn" \/>');
document.writeln('<col class="MonocloScanColumn" \/>');
document.writeln('<col class="MonocloPrintColumn" \/>');
document.writeln('<\/colgroup>');
document.writeln('<thead>');
document.writeln('<tr>');
document.writeln('<th rowspan="2" colspan="2"><\/th>');
document.writeln('<th colspan="9">Gesamtseiten/Seitenbeschränkungen <\/th>');
document.writeln('<\/tr>');
document.writeln('<tr>');
document.writeln('<th colspan="3">Total <\/th>');
document.writeln('<th colspan="3">Farbe <\/th>');
document.writeln('<th colspan="3">Schwarz <\/th>');
document.writeln('<\/tr>');
document.writeln('<tr>');
document.writeln('<th>');
( "true" != NewCardStat ) ? document.writeln('Auswählen ') : document.writeln('Abt. ID ');
document.writeln('<\/th>');
document.writeln('<th>');
( "true" != NewCardStat ) ? document.writeln('Abt. ID ') : document.writeln('Karten ID ');
document.writeln('<\/th>');
document.writeln('<th>');
document.writeln('Drucksummen');
document.writeln('<\/th>');
document.writeln('<th>');
document.writeln('Total (Farbe)');
document.writeln('<\/th>');
document.writeln('<th>');
document.writeln('Total (Schwarz)');
document.writeln('<\/th>');
document.writeln('<th>');
document.writeln('Farbkopie');
document.writeln('<\/th>');
document.writeln('<th>');
document.writeln('Farbscan');
document.writeln('<\/th>');
document.writeln('<th>');
document.writeln('Farbdruck');
document.writeln('<\/th>');
document.writeln('<th>');
document.writeln('Schwarzkopie');
document.writeln('<\/th>');
document.writeln('<th>');
document.writeln('Schwarzscan');
document.writeln('<\/th>');
document.writeln('<th>');
document.writeln('Schwarzdruck');
document.writeln('<\/th>');
document.writeln('<\/tr>');
document.writeln('<\/thead>');
}
//]]>
</script>
</script>
<fieldset class="FilterOperation">
<script language="JavaScript" type="text/javascript">
//<![CDATA[
document.writeln('<select name="Page" id="Page" size="1">');
document.writeln('<option value="0">1 bis 100 <\/option>');
document.writeln('<option value="1">101 bis 200 <\/option>');
document.writeln('<option value="2">201 bis 300 <\/option>');
document.writeln('<option value="3">301 bis 400 <\/option>');
document.writeln('<option value="4">401 bis 500 <\/option>');
document.writeln('<option value="5">501 bis 600 <\/option>');
document.writeln('<option value="6">601 bis 700 <\/option>');
document.writeln('<option value="7">701 bis 800 <\/option>');
document.writeln('<option value="8">801 bis 900 <\/option>');
document.writeln('<option value="9">901 bis 1002 <\/option>');
document.writeln('<\/select>');
document.writeln('<input type="button" class="ButtonEnable" value="Anzeige " onclick="javascript:reload_click();" \/>');
DropDownListSelect( document.PROP_FORM.Page, "0" );
//]]>
</script>
</fieldset>
</div>
<script language="JavaScript" type="text/javascript">
//<