ich habe einen Webcrawler in Clojure geschrieben und fände es schön, wenn ihr mal drüberschauen würdet, ob ich da noch etwas besser machen könnte (Übersichtlichkeit, “funktionalere” Vorgehensweise, etc.)
Da er mir noch nicht sagen konnte in welchem Format er die Datensätze gerne hätte speichere ich sie vorübergehend in einem Record, an dieser Stelle wird später direkt als Excel Datei oder in eine Datenbank geschrieben. Auch das “zu crawlende” Datum wird natürlich später über Parameter abgefragt, oder je nachdem das heutige ausgewählt.
Damit kannst du das col-for-row evtl verbessern. Das nth sieht auf dauer daemlich aus.
(defn c-4-r [_ a b c d e ]
(Aufbietung
(:content a)
(:content (:content b))
…)
Ausserdem solltest du der schliessenden klammer der fn keine neue Zeile spendieren.
Das braucht zuviel Platz, da eh eine Leerzeile kommt. Dann passt bei guter lesbarkeit mehr auf den screen.
Die uri ist imho in der main per let besser aufgehoben.
Also ich würde das in etwa so machen. Wenn ich das ganze drucke, dann gibt es im Nachhinein eine schöne Nullpointer Exception. Keine Ahnung woher. Und so würde ich es in etwa formatieren.
danke für die Anregungen! Sehe gerade, dass in meinem Buch sogar ein ziemlich großes Kapitel zu deconstructuring gibt, das wird dann heute Abend mal die Lektüre. Auf den ersten Blick ein schönes Feature.
Das mit der schließenden Klammer ist wohl noch eine Java-Marotte, ich sehe mich vielleicht auch mal nach Quellen zu Code-Style um, da wird sich ja was finden lassen.
Gruß,
Tim
Nachtrag: Die NullPointerException fliegt wohl, weil mittendrin Zeilen stehen, welche das Attribut “class” nicht besitzen, da kann ich natürlich nicht auf startsWith prüfen, das muss ich noch behandeln.