suchmaschine programm in python

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
alex
User
Beiträge: 5
Registriert: Sonntag 3. Juni 2007, 23:30
Wohnort: berlin

hallo alle

Bitte sei nicht sauer , da ich auch nicht viele ahnung über python habe..

aber leider ich soll ein suchmaschine programm in python programmieren,
aber ich alles nicht im griff, wenn jamand ahnung darüber hat, wäre sehr schön...

ich feue mich auf alle eure vorschläge
danke im voraus :roll:
thelittlebug
User
Beiträge: 188
Registriert: Donnerstag 20. Juli 2006, 20:46
Wohnort: Wien
Kontaktdaten:

Hi alex, willkommen im forum,

Damit wir dir helfen können müssten wir erst einmal wissen worum es überhaupt geht :D
Ich empfehle dir hierzu http://www.python-forum.de/topic-1240.html
auch http://www.lugbz.org/documents/smart-questions_de.html ist es durchaus Wert gelesen zu werden.

lgherby
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Dann lass doch mal hören, wie du dir das genau vorstellst! Was soll gesucht werden, welche Daten sollen erfasst sein, wie sollen die Daten vorgehalten werden, welches Interface hat die Suchmaschine (Kommandozeile, GUI, Web, ...), sollen erweiterte Suchausdrücke möglich sein usw. usf.
Benutzeravatar
SigMA
User
Beiträge: 181
Registriert: Sonntag 4. April 2004, 13:27
Wohnort: Freiburg
Kontaktdaten:

Sch au dir mal die PythonDesktopSearch von mir an. Leider ist der SVN nicht ganz so aktuell xD

Aber es sollte dir anregungen geben, wie so etwas aussehen könnte.

http://pds.berlios.de

SigMA
Leichtdio.de - Das Kreativ-Blog
http://www.leichtdio.de
alex
User
Beiträge: 5
Registriert: Sonntag 3. Juni 2007, 23:30
Wohnort: berlin

sorry alle , dass ich mich so später anmelde.. aber das war wegen krankheit...


ich danke euch alle für ihre anmeldungen...

aber leider ich bin noch nicht zurecht gekommen...
das programm soll wie bei google sein , es soll nach die eingebe suchen, natürlich, die wir eingeben sollen...

beste grüße von mir
querdenker
User
Beiträge: 424
Registriert: Montag 28. Juli 2003, 16:19
Wohnort: /dev/reality

@alex: Du bist dabei, deutsch zu lernen?
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Also Alex um eine Suchmaschine im Styl von Google 'zu machen',

brauchst du normale Python Kenntnisse + CGI würde ich mal so sagen,
wenn es größer sein soll dann könnte man es noch um eine Datenbank erweitern, aber meine Frage ist eigentlich mehr was wünscht du dir?

Eine komplett fertige Arbeit?
Hilfe bei einem Problem?
Wenn ja wo liegt das Problem?
pythonist
User
Beiträge: 40
Registriert: Sonntag 14. Mai 2006, 17:28

Ich denk mal das man nicht so locker flockig was wie Google coden kann.
Weil man a) dazu n ziemlich gut ausgeklügelten Such-/Ranking-Algorithmus braucht.
b) Ne Menge Bandbreite/Rechenleistung/Speicherkapazität um das Web zu indizieren.
c) Viel Zeit um das ganze zu entwickeln/betreuen

Das einzige in die Richtung was du machen kannst ist eine Suchmaschine die andere verwendet sowas wie kartoo.com also den Suchbegriff an Google/Yahoo usw. sendet und die Ergebnisse vergleicht/auswetet. Wobei ich bezweifle das das Google usw. gefällt weil die wollen auch ihre Werbeeinnahmen.

pythonist
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

@ pythonist ich denke du denkst schon ein stück weiter als alex das braucht.

Es wird sich nur um eine einfache Websuche handeln ohne einen Index anzulegen, als die Suche ist auf recht wenige Seiten begrenzt.

Aber das werden wir erst erfahren wenn er sich hier mal ausführlich erklärt ;-)

Um auf Google Ebene zukommen braucht man erstmal ein Möglichkeit so viele Seiten zu crawlen und auch die Daten zusichern.
alex
User
Beiträge: 5
Registriert: Sonntag 3. Juni 2007, 23:30
Wohnort: berlin

hallo jungs...

ich danke euch zuerst..

ich sagte vorher,als ich die frage gestellt habe, dass ich so wenig ahnung über python habe , ich lerne zuzeit die grundlagen schritt bei schritt, aber leider soll ich wie gesagt dieses programm als hausarbeit fertigmachen und abgeben , was ich über dieses programm weiß , dass es ein sucheprogramm ist, und es macht die suche wie google und so, also sucht es nach die eingaben,... sorry, ich will euch nicht belasten,aber ich bin hier auch nicht um deutsch zulernen (an pythonist 8) )..

ich verlange die helfe nur von denen, die den anderen helfen mögen

hofe dass die frage jetzt schon klar ist :roll: , und dass ich euch in anderen bereiche helfen kann....
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

alex hat geschrieben:dieses programm als hausarbeit
Hallo alex!

So etwas wie Google programmiert man nicht als Hausarbeit. So etwas programmiert man (leicht übertrieben) ein paar Jahre lang im Team. Also hast du etwas falsch verstanden.

Finde raus, was du wirklich machen musst!!!

Was soll gesucht werden? Dateien auf der Festplatte oder Internetseiten?

Muss eine grafische Oberfläche (GUI), eine dynamische Website oder nur ein Kommandozeilenprogramm programmiert werden?

Wie lange hast du Zeit?

Soll das Programm die Suchanfrage an eine Suchmaschine wie Google weiterreichen und das Ergebnis dieser Suche anzeigen?

Sollen Dateien auf der Festplatte gesucht werden, deren Namen mit dem Suchbegriff überein stimmen?

Sollen Dateien auf der Festplatte gesucht werden, deren Inhalt mit dem Suchbegriff überein stimmen?

Was hast du schon an deinem Programm fertig programmiert?

Hast du überhaupt schon eine Einführung in Python gelesen?

Und so weiter...

Du hast uns absolut keine Hinweise gegeben, die erklären was du wirklich machen musst. Und als Hausarbeit eine Suchmaschine wie Google zu programmieren, ist nicht möglich.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
alex
User
Beiträge: 5
Registriert: Sonntag 3. Juni 2007, 23:30
Wohnort: berlin

danke gerold für deine meldung

aber ich meinte nicht , dass das programm genau wie google sein soll, ich meinte nur , dass es die suche wie bei google macht , also als kleines fenster , die eingaben (webseitename) sollen einfach rein geschrieben werden, und es sucht nach die eingaben , also wie du gesagt hast , es sucht nach internetseiten , ich hab auch meinen professor nachgefragt, wie das programm sein soll??, und welchem module kann man benutzen...

er sagte mir "" kleine suchmaschine:

*urllib modul : Seite holen
* re module : Link extrahieren
* Link Graph als Dictonary mit URL als Key.
* Tkinter: einfache Texteingabe GUI für Suchbegriff.

also wir sollen den Link-Graph durchlaufen und die knoten mit einer Liste und einem zähler von seiten ergänzen, die auf die jeweileige
URL zeigen.....

ich hofe ,dass diese informationen genug sind, zu erklären :oops:
BlackJack

Ja das sind genug Informationen. Klingt auch machbar. Allerdings sollten das auch *für Dich* genug Informationen sein. Oder anders: Was ist denn jetzt Deine Frage an uns?
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Am Rande: ``BeautifulSoup`` ist ein schönes Paket um in HTML rumzuwursteln und Daten zu extrahieren. Die Geschwindigkeit mag an spezialisierte reguläre Ausdrücke nicht heranreichen, aber der Crawler, der die Websites indiziert, sollte ja auch nebenher laufen und etwas gemächlicher zur Sache gehen dürfen als die Suche im Index. Allerdings gehe ich davon aus, dass die Verwendung von regulären Ausdrücken hier explizit gewünscht ist, das Modul ``re`` also direkt benutzt werden soll.
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Ich finde bei einer solchen Aufgabe sollte man bei der Standard Library blieben.
Kommt halt darauf an, wo man es ein setzen möchte und in welcher Form dort Beautiful Soup zur Verfügung steht
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Sr4l hat geschrieben:Ich finde bei einer solchen Aufgabe sollte man bei der Standard Library blieben.
Hallo Sr4l!

BeautifulSoup kann auch mit inkonsistentem HTML was anfangen. Mit "re" bist du da aufgeschmissen. Außerdem ist BeautifulSoup ein einzelnes Python-Modul. RE ist in meinen Augen eher eine schlechte Wahl für so etwas. Da es aber ein Beispiel zum Lernen sein soll, denke ich, ist es nicht schlecht, wenn man sich einmal mit RE beschäftigt. Im realen Leben --> BeautifulSoup.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Wo kämen wir da hin, wenn man sich möglichst auf die Standardlib beschränken würde? Wozu? Zumal eine Suchmaschine beim Betreiber und nicht beim Anwender betrieben wird, da sind die Voraussetzungen des Anwenders nur auf einen Web-Client festgelegt.

Auch im Rahmen der Vermittlung von Wissen und Praxis im Umgang mit einer Programmiersprache ist der Blick über den Tellerrand in jedem Fall wünschenswert und positiv.
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Wenn er Tkinter nutzt und es für die Schule macht wird es wohl keine Web Anwednung. Natürlich kann man auch B S einsetzen, ist mir egal :-)

Es gibt leider ein paar gute Librarys die nicht in Python Standard sind, B S finde ich gehört neben MySQLdb und PIL auch dazu.
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Ohne erneut diese Diskussion anzetteln zu wollen: Tkinter ist unter Linux nicht Teil der Standardbibliothek. PIL ist in der Tat schon wünschenswert. Aber MySQLdb würde auch die anderen DB-Adapter implizieren und das kann es irgendwie auch nicht sein.

Hat eigentlich mal jemand PIL für Py3k vorgeschlagen? Da wird ja eh umfassend aufgeräumt und getauscht.
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Ok nur noch eine Antwort, keine Diskussion ;-)

Um genau zu sein sind ja die Pakete unter Linux nicht das Standard Python, wenn man Python aus dem Source erstellen würde wäre Tkinter dabei. Das Linux Distrubtionen einige Sachen ändern, ist mir bisher nicht negativ aufgefallen, da sich vieles allein durch Abhängigkeiten zu meinen Programmen installiert ;-)

MySQLdb gehört für mich dabei, weil sie eine der größten Datenbanken ist.
Man kann es immer nachinstallieren ist klar, wenn es aber immer dabei wäre, hätte man vll bessere Chancen das es auch bei Hosting Angeboten dabei zu haben.
Antworten