Ich bin zum ersten Mal Poster hier versuchen, einige Python-Kenntnisse zu sammeln; bitte seien Sie freundlich zu mir :-)
Obwohl mir Programmierkonzepte nicht völlig fremd sind (ich habe schon mit PHP herumgespielt), hat sich der Übergang zu Python für mich als etwas schwierig herausgestellt. Ich schätze, das hat vor allem damit zu tun, dass mir die meisten - wenn nicht alle - grundlegenden Kenntnisse über gängige "Entwurfsmuster" (?) und dergleichen fehlen.
Doch genau hier liegt das Problem. Ein Teil meines aktuellen Projekts beinhaltet das Schreiben eines einfachen Scrapers unter Verwendung von Beautiful Soup. Die zu verarbeitenden Daten haben eine ähnliche Struktur wie die, die unten dargestellt ist.
<table>
<tr>
<td class="date">2011-01-01</td>
</tr>
<tr class="item">
<td class="headline">Headline</td>
<td class="link"><a href="#">Link</a></td>
</tr>
<tr class="item">
<td class="headline">Headline</td>
<td class="link"><a href="#">Link</a></td>
</tr>
<tr>
<td class="date">2011-01-02</td>
</tr>
<tr class="item">
<td class="headline">Headline</td>
<td class="link"><a href="#">Link</a></td>
</tr>
<tr class="item">
<td class="headline">Headline</td>
<td class="link"><a href="#">Link</a></td>
</tr>
</table>
Das Hauptproblem ist, dass ich einfach nicht meinen Kopf um, wie man 1) behalten den Überblick über das aktuelle Datum (tr->td class="date") während 2) Schleife über die Elemente in den nachfolgenden tr:s (tr class="item"->td class="headline" und tr class="item"->td class="link") und 3) speichern die verarbeiteten Daten in einem Array.
Außerdem werden alle Daten in eine Datenbank eingegeben, in der jeder Eintrag die folgenden Informationen enthalten muss;
- Datum
- Schlagzeile
- Link
Beachten Sie, dass die Verschlüsselung der Datenbank nicht Teil des Problems ist. Ich habe dies nur erwähnt, um besser zu veranschaulichen, was ich hier zu erreichen versuche :-)
Nun gibt es viele verschiedene Arten, eine Katze zu häuten. Während eine Lösung für das vorliegende Problem in der Tat sehr willkommen ist, wäre ich sehr dankbar, wenn jemand die tatsächliche Logik und Strategie erläutern würde, die Sie anwenden würden, um diese Art von Problem "anzugehen" :-)
Zu guter Letzt, entschuldigen Sie, dass die Frage so unsinnig ist.