From: <ma...@at...> - 2000-10-28 16:25:36
|
hallo, ihr alle zusammen, > >die idee mit der meta-preissuchmaschine scheint ja wieder > >gestorben zu sein, obwohl wir natuerlich die infos von den anderen > >maschinen zunaechstmal benutzen koennen, um ein paar echte daten > >in unsere datenbank zu bekommen -- ich denke hauptsaechlich zu > >demostrationszwecken. da sollte das einfacher sein, als daten > >von webpages zu kopieren und dann von hand einzugeben... > > ja ich denke auch, dass wir das als eine anfangsstrategie benutzen sollten. das ist wohl der einzig gangbare weg. spaeter wuerden wir damit wahrscheinlich eh probleme kriegen, mit dem meta-zeug. [...] > das sehe ich auch so. wir entwickeln jetzt erst unsere basisseite und > später hängen wir den ganzen rest dran. das sollte dann auch nicht mehr so > schwierig sein. der einzig technisch schwierige vorgang ist meiner ansicht > nach die webseiten runterzuladen und die produktinformationen zu extrahieren. ja, dem ist nichts hinzuzufuegen. > >zur programmiersprache: ich hab mir gerade perl und lisp installiert. > >das gabs beides kostenlos auf dem web auch fuer windows. die > >programmierumgebung von lisp sieht sehr nett aus, aber die sprache > >etwas kryptisch; dagegen scheint mir perl einfacher zu sein, nur > >hab ich da noch keine ahnung, wie ich da ueberhaupt was zum laufen > >bekommen kann. aber das wuerde sich wohl noch rausfinden lassen. > >ich muss auch sagen, dass martins beispielprogramm eher etwas > >abschreckend ausgesehen hat... also, ich glaube, ich wuerde perl > >bevorzugen. oder fehlen da einige sehr wichtige funktionen, die > >wir unbedingt brauchen? martin? perl ist halt eine interpretierte skript-sprache. d.h. es ist default-maessig nicht so maechtig wie lisp (wird compiliert, und hat bessere bibliotheken). du wirst das sehr schnell rausfinden, wenn du damit entwickelst. ausserdem gibt es fuer lisp ja gute entwicklungsumgebungen - und perl startest du halt immer von der kommandozeile ansonsten, hier ist mal mein beispielprogramm, kommentiert, weil es ja sooo abschreckend war: ;;; file: category-utils.lisp ;;; ;;; (C) 10/2000 Martin Atzmueller ;;; (in-package :cl-user) (defun extract-categories (&optional (file "km-preisliste.txt")) ;; definiere function 'extract-categories' mit optionalem argument "file", ;; der, falls nicht angegeben, mit "km-preisliste" belegt wird. (let ((categories '())) ;; definiere lokale variable categories, zunaechst als leere liste '() (with-open-file (f file :direction :input) ;; oeffne file "file", binde den stream an "f", als inputfile (do* ((line #1=(read-line f nil nil nil) #1#) ;; ok, der do block ist ein bisschen kompliziert; ;; das mit dem #1= und #1# erspart mir nur ein bisschen schreibarbeit: ;; mit #1= setze ich den ausdruck dahinter als #1#, dh. mit #1# wird der ;; damit definierte ausdruck einfach nochmal kopiert, eingesetzt. ;; jedenfalls wird oben "line" an das ergebnis der funktion "read-line" ;; gebunden => ein string, falls eine zeile gelesen werden konnte, ;; oder ansonsten halt "nil", als boolean false. (semicolon-pos #2=(position #\; line) #2#) ;; position des semikolons bestimmen. (cat #3=(subseq line 0 semicolon-pos) #3#)) ;; setze die kategorie "cat" auf einen string, bestehend aus allem ;; vom 0. bis zum semikolon (also bis zu dessen position) ((null line) ;; abbruchbedingung: wenn (line == null) dann abbruch ;; liefere dann die categories, in umgekehrter reihenfolge, ohne duplikate (setq categories (nreverse (delete-duplicates categories :test #'string-equal)))) (push cat categories) ;; fuege cat zur liste categories hinzu )) (when *debug-p* ;; und beim debuggen, wird das auf den bildschirm ausgegeben (dolist (cat categories) (format *standard-output* "~&KM-Category: ~A" cat))) categories)) > ich hab mir mal so ein tutorial von lisp angeschaut - zwar nicht sehr lange > - aber ich denke es würde schon eine weile dauern bis ich da richtig drin > bin. ich seh auch nicht ganz den vorteil der sprache, da muss man sich > wahrscheinlich ziemlich lang damit beschäftigen, um das rauszukriegen. glaube ich jetzt nicht so: es gibt ein ziemlich gutes buch: ANSI COMMON LISP von PAUL GRAHAM, PRENTICE HALL. das ist eigentlich das beste einfuehrungsbuch, das ich kenne. im netz gibt's da auch ein paar gute: "sucessful lisp" (gibt's einen link auf meiner homepage), und ein buch als pdf bei www.franz.com. ansonsten arbeiten wir doch mal weiter. ich muss leider sagen, dass ich zur zeit leider nicht so riesig viel zeit habe, weil der prof mit seinem seminar ein bisschen stress macht, aber das wird bald besser werden. bis dann, martin -- Homepage: http://www.atzmueller.net/ Email: ma...@at... |