Statische oder dynamische Seiten?

visurox

Grünschnabel
Es geht ganz kurz darum: 5 Datenbanken bisher. Jede enthält planmäßig 10.000 Seiten. Nun stelle ich mir die Tatsache 50.000 Dateien zu erstellen (bisher mit Hand!) oder zu backupen sehr müßig vor. Stattdessen könnte man sie doch statisch machen.
Durch die Livesuche die ich benutze wird es nicht ohne viel Bastelei gehen, aber sicherlich einfacher, wenn sie statisch sind.
Oder?
 
Hi

Doch etwas mehr Infos bitte.
Was sind das für "Seiten"?
Daten wie zB. für jeden Thread im Forum hier, Bilder/PDFs/... vollständig in der DB,
vollständige HTML-Seiten die miteinander nichts zu tun haben, oder...?

Ein DB-Backup ist nicht so viel schwerer als ein Dateienbackup.
Warum sollte man 50K Dateien per Hand erstellen?
Sind per Hand erstellte Dateien nicht statisch, automatisch erstellte schon? :confused:
Was kann die Suche suchen?
 
Die Suche, sucht derzeit z.B. Bücher und die Ergebnissseite (php) zeigt das Cover, Isbn, Beschreibung, Author usw. an. Ein Datenbankbackup wäre 1 Datei. Das andere wären zig Dateien. Zudem wäre die Übersicht einfacher. Finde ich.
Der Aufbau jeder Ergebnissseite ist
/author/anfangsbuchstabe-vom-buchtitel/titel/cover/cover.jpg (Buchcover)
/author/anfangsbuchstabe-vom-buchtitel/titel/info.txt (Selbe Inhalt wie index.html nur eben als txt)
/author/anfangsbuchstabe-vom-buchtitel/titel/index.php (Buchinfos + Cover)

Zumal dann Webseitengrabber ausgeschlossen werden sollten?!

Warum die alle per Hand erstellt werden? Weil ich zu schlecht für curl bin.
Ich verstehe es wirklich komplett garnicht.
 
Zuletzt bearbeitet:
Sorry, aber das ist alles noch immer nicht wirklich verständlich, fürchte ich. Zu einzelnen Sätzen habe ich Theorien, was du meinen könntest, aber die ergeben dann sozusagen ab dem nächsten Satz (und etwaigen Themensprüngen darin) schon keinen Sinn mehr.

Bestes Beispiel:

Warum die alle per Hand erstellt werden? Weil ich zu schlecht für curl bin.
 
Ich verstehe gerade nicht was das Problem ist.

Es geht schlicht und ergreifend darum, ob ich für die Menge an Dateien,
eher dynamische oder statische Seiten nutzen sollte.

Da diese ausschließlich per Hand erstellt werden,
da ich von dem externen Anbieter bei dem ich Daten erkauft habe,
die Daten via curl nicht grabben kann, muss ich das per hand erledigen.

Die Seiten sind alle php Dateien mit den oben genannten Infos
("[...] zeigt das Cover, Isbn, Beschreibung, Author usw." ).
 
Du bekommst also 50K Buchdatensätze, die theoretisch in eine DB gepeichert
und mit einer einzelnen PHP-Seite angezeigt werden könnten.
Und weil du es nicht schaffst, alle Daten automatisiert zu verarbeiten
willst du sie jetzt händisch abtippen, in je eine HTML-Seite pro Buch?

:eek:

Wenn du mit cUrl nciht klarkommst gibt es für jedes Protokoll drin auch Alternativen,
und aus Daten in irgendeinem CSV-usw.-Format SQL-Inserts zu erstellen
sollte mit einem vernünftigen Texteditor mit Regex-Replace auch nicht lang dauern.

Sag doch einfach einmal genau, wo die Daten herkommen.
Wenn wir da auch irgendwie drankommen ist das schnell gemacht.
 
Fast. Ich bekomme die Erlaubniss die Infos einer Bücherseite mit zu benutzen.
Diese enthält 10k Seiten (laut meinen Infos).

Desweiteren habe ich weitere 4 Datenbanken die nur anderen Inhalt haben (Autos, Comics usw.).

Da ich es aber nicht schaffe die mir erlaubten Daten per curl zu grabben, muss ich es wohl oder übel per hand machen. Da das ganze ein Freizeitprojekt ist, ist die Länge bis es fertig ist eher weniger wichtig, nur eben sehr viel anstrengender.

Es geht aber wie im ersten Beitrag erwähnt, auch um die Übersichtlichkeit.
50k php Dateien + Bilder zu sichern, empfinde ich als um einiges umständlicher,
als 1 DB + Bilder zu backupen. Sollte jemand versuchen meine Webseite zu grabben,
dürfe er es auch schwer haben, mit Dateien die in dem Moment erst erstellt werden.
Daher die Frage, wie ihr das seht.

Die Daten selbst kommen von Webseiten die ich gefragt habe, oder gefragt und bezahlt (bzw. eine Spende getätigt. Geld direkt dafür wollte keiner, weil sie die Daten ja bereits online verfügbar gemacht haben) habe.

Um ein Beispiel zu nennen:
http://de.anisearch.com/ wurde gefragt.
Anfragen an den Katalog der Deutschen Nationalbibliothek blieben bisher unbeantwortet.
 
Hast Du die Erlaubnis bekommen

*A Die DB mitzubenutzen? (Hauptlast geht auf deren Konto)
*B Die DB zu kopieren? (Hauptlast würde Deine DB übernehmen)
*C Die Ergebnisdaten zu scrapen und auf Deiner Seite wiederzukauen?
*D (fällt aus wegen Sinnlosigkeit) Händisches Umkopieren..

Tatsächlich würde ich so eine Metasuche eher auf (A) oder (C) aufbauen.. Ist doch ne schöne Aufgabe. Suche an alle Seiten (per Ajax) herausschicken, per Regex/DOM Infos heraussuchen und auf Deiner Seite das Ergebnis in Kurzform wiedergeben. Bei Bedarf verlinken auf die Quelle. (B) finde ich n bissel sehr umständlich, weil Du für die Aktualität sorgen musst (inkrementelles Backup?) und händisches Umtippen/Aktualisieren/Auffrischen (D) die wahrlich sinnloseste Aktion.

* cURL php - http://www.jonasjohn.de/snippets/php/curl-example.htm
* DOM - http://www.binarytides.com/php-tutorial-parsing-html-with-domdocument/

Was mir stets hilft ist ein Blatt, ein Stift und das Visualisieren von Modulen/Teilaufgaben.
 
*A Die DB mitzubenutzen? (Hauptlast geht auf deren Konto)
*B Die DB zu kopieren? (Hauptlast würde Deine DB übernehmen)
*C Die Ergebnisdaten zu scrapen und auf Deiner Seite wiederzukauen?
*D (fällt aus wegen Sinnlosigkeit) Händisches Umkopieren..

A: Nein
B: Nein
C: JA
D: JA

Direkt auf die Quellen zuzugreifen halte ich persönlich für keine gute Idee,
da sobald etwas auf deren Seite sich ändert/sie offline ist/gehackt wurde/whatever
sind meine(...) Daten weg und können nicht mehr/nie wieder benutzt werden.

Darum erstelle ich eine sortierte und kopierte, neue Version, nur eben auf meinem Space.

Natürlich ist das händische nicht das beste, aber da mir die Fähigkeiten für etwas besseres fehlten, war das wenigstens ein Anfang. :)

Danke für die Links, ich schaue sie mir sofort an.

PHP:
<?php

$seite = "http://www.meinewebseite/index.php";

$parser_start = 'woesanfängt';

$parser_ende = 'woesendet';

$element = explode ($parser_start, implode ('', file ($seite)));

$result = explode ($parser_ende, $element[1]);

echo "Ausgelesene Infso <b>$result[0]</b>";

?>

War übrigens mein Versuch. Hat aber nicht geklappt.
 
Zuletzt bearbeitet:
Nun gut. Aber lass den Blödsinn mit händisch kopieren weg, das ist Mumpitz. Setz Dich lieber noch 1-2 Monate ran und verstehe das parsen/scrapen, dann macht das wenigstens Sinn. Angenommen, Du brauchst für einen Eintrag 1 Minute, so brauchst Du für das vollständige "Kopieren" ~50.000 Minuten, das sind 35 Tage am Stück, ohne Pause, ohne Essen, ohne Problemchen, ohne Updates, 24 Stunden am Tag. Über solch eine Idee brauchst Du nicht mal ansatzweise nachdenken, denn reell würde es Dich vielleicht die 20fache Zeit kosten. Jeden Tag 10.000 Einträge? NEVER!

(Unten in meiner Signatur ist diese dslr-kleinanzeigen-Seite, die basiert auf dem Auslesen von Webseiten (wo die Erlaubnis vorliegt).)

* welche Finden-Philosophie (per http) ist die Beste (via Buchstabensortierung, per ID? etc pp) In Deinem Beispiel ist die Übersichtsliste vorzüglich geeignet. Auslesen, wieviele Seiten es sind (pro Seite hier 40 Einträge), dann die Variablen in der url ändern und
* mittels regex oder DOM die Einträge durcharbeiten.
* Jede Url einzeln ansprechen, wieder auslesen.
* Zu speichernde Daten in "Dein" Datenbankformat zurechtschieben, speichern.

* Von Anfang an so programmieren, dass es virtuell nach neuen Einträgen sucht (ist dieser Eintrag schon in meiner DB). Dafür bietet sich die ID der url an ( zB a Channel ist bei anisearch id 6585). Somit hast Du ein Modul, dass Du zB einmal die Woche rüberfliegen lassen und Deine DB sich selbst aktualisieren kann. Bitte immer mit den Seitenbetreibern eine Absprache finden, wann Du Deinen Code ackern lässt, Du könntest den Server zu sehr beanspruchen.
 

Neue Beiträge

Zurück