Wer möchte mir Python beibringen?

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.
Antworten
hellboy87
User
Beiträge: 3
Registriert: Samstag 26. November 2011, 03:03

Hallo,

bitte entschuldigt diesen ungewöhnlichen Treat. Sollte dieser z.B. gegen Foren-Regeln verstoßen bitte sofort löschen.

Python? ich verstehe nur Bahnhof! Ich habe mittlerweile 10 Stunden an der Oberfläche von Python gekratzt.
Diverse Tutorials (sowohl Anleitungen als auch Videos) im Internet sind für mich unverständlich und mit jedem neu angeeigneten Wissen überfordern mich weitere Begriffe oder Module die man anscheinend noch benötigt.

Scrapy (scrapy.org) möchte ich gerne verwenden, einen Crawler der den HTML-Quelltext durchsucht, aber ohne Python geht das nicht :(.
Um Scrapy schließlich verwenden zu können wird neben Python anscheinend noch sehr viel mehr benötigt.
- Eclipse
- Twisted
- Zope Interface
- pywin32
- w3lib
- lxml oder libxml2
- simplejson
- pyopenssl
- in einem Youtube video wurde sogar pydev.org angesprochen (die Seite Verweist jedoch auf Python)

Nun, als Neuling in dem Gebiet bin ich damit sehr überfordert.

Frage nun, ist jemand bereit gegen Bezahlung via TeamViewer oder Skype diverse Internet Tutorials mit mir durchzugehen?

Gruß
hellboy87
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Guten morgen....

Mein Tipp (und der vieler anderer):
Arbeite das Python-Tutorial durch. Und konkrete Fragen werden Dir hier im Forum beantwortet. So kommst Du Stück für Stück ans Ziel und hast am Ende ein sehr gutes Fundament.

Preis: Zeit + etwas Durchhaltevermögen


Oder Du meldest Dich mal dort.

Preis: ~ 1.000,00 EUR


mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Mit mechanize und BeautifulSoup hab' selbst ich einen Crawler basteln können.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
BlackJack

@hellboy87: Vorweg die Bedeutung von treat. :-)

Eine Programmiersprache erlernt man nicht in 10 Stunden. Insbesondere nicht auf dem Niveau auf dem man das für dieses Ziel benötigt. Da solltest Du eher in Wochen oder Monaten rechnen. Dazu kommt, dass es nicht mit Python-Kenntnissen alleine getan ist, denn von dem Fachgebiet für das man ein Programm entwickeln möchte, braucht man natürlich auch Wissen.

`scrapy` benötigt in der Tat einige Module/Pakete auf denen es aufbaut. Aber Eclipse und PyDev gehören nicht zwingend dazu. Eclipse ist eine integrierte Entwicklungsumgebung („integrated development environment“, kurz IDE), die mit Plugins für verschiedene Programmiersprachen verwendet werden kann. Für Python gibt es das Pydev-Plugin für Eclipse. Man kann zum schreiben von Python-Quelltexten aber jede andere IDE mit Python-Unterstützung verwenden, oder auch jeden Texteditor der sich grundsätzlich zum Programmieren eignet. Ich bin zum Beispiel mit einem Texteditor zufrieden, der Syntaxhervorhebung für Python beherrscht und eine simple Autovervollständigung bietet, die ihre Vorschläge aus der oder den offenen Dateien bezieht.

`pywin32` braucht man nur unter Windows und dort auch nur wenn man in einen Fehler in `twisted` läuft, den `scrapy` mittels `pywin32` umgeht. `simplejson` braucht man bei aktuellen Python-Versionen nicht mehr, da es mittlerweile in der Standardbibliothek ein `json`-Modul gibt.

Falls Du einen Crawler in Python schreiben möchtest, musst Du erst einmal Python können. Das Tutorial in der Python-Dokumentation wurde ja schon erwähnt. Die `scrapy`-Seite hat auch ein paar Tutorial-Vorschläge beziehungsweise Links für Programmieranfänger. Da `scrapy` ein ziemlich umfangreiches, objektorientiertes Rahmenwerk ist, muss man halbwegs sicher in objektorientierter Programmierung (OOP) und Entwurfsmustern sein, um sich darin zurecht zu finden.

Zum Fachwissen für einen Crawler gehören meiner Meinung nach HTTP-Grundlagen, damit man weiss wie Browser und Webserver kommunizieren. Das ist insbesondere bei Webseiten wichtig, die sich gegen Crawler „wehren“. Dann HTML- und XML-Grundlagen, weil dass das Datenformat ist, welches verarbeitet wird, beziehungsweise die Form in der es vom Crawler an Deinen Code zum „scrapen“ geliefert wird. `scrapy` verwendet anscheinend hauptsächlich XPath zum extrahieren der Daten aus der Webseite. Das ist eine Sprache für sich, die man lernen muss.

Um das erlernen einer Programmiersprache kommt man nicht herum wenn man etwas Programmieren möchte, aber vielleicht ist `scrapy` auch ein klein wenig überdimensioniert. darktrym hat ja schon `mechanize` und `BeautifulSoup` erwähnt. Eine Stufe unter `mechanize` könnte man `urllib`/`urllib2` aus der Standardbibliothek ansehen. Und eine Alternative zu `BeautifulSoup` wäre das `html`-Modul aus dem `lxml`-Paket. Je nach dem was man genau mit dem Crawler erreichen möchte, könnte es einfacher sein sich die benötigte Funktionalität selber zu programmieren, statt sich durch ein grosses Rahmenwerk zu arbeiten von dem man am Ende nur einen Bruchteil verwendet.

Vielleicht verrätst Du uns was Du mit dem Crawler eigentlich machen möchtest.
Antworten