2009-07-08 8 views
10

Ich habe gelernt, eine andere Sprache als Java zu lernen. Also fing ich an, mit Python herumzustochern. Ich bin über 'in Python tauchen' gegangen, also habe ich jetzt ein ordentliches Wissen über Python.was als nächstes nach 'Tauchen in Python'

wo schlägst du vor, dass ich von hier gehe? Ich möchte nicht noch einmal durch ein anderes fortgeschrittenes Buch gehen und möchte das Python-Wissen nutzen, um "etwas" aufzubauen.

Ich habe gehört, dass Python ist gut für das Crawlen im Web, aber ich habe das nicht in Python tauchen gesehen. Kann die Community vorschlagen, wie sie mein Pythong-Wissen für Web-Crawler oder Spider einsetzen kann?

Antwort

3

Ist Crawlen im Internet etwas, das Sie tun möchten, oder nur etwas, von dem Sie glauben, dass es möglich ist? Python ist ein gutes Werkzeug für das Crawlen im Internet (siehe here und here), aber wenn Sie wirklich nur ANY-Projekte arbeiten möchten, um die Sprache/APIs vertrauter zu machen, würde ich vorschlagen, ein Projekt auszuwählen, an dem Sie allgemein interessiert sind ungeachtet. Auf diese Weise wird es einfacher sein, mitzuhalten, da Sie neben dem Interesse an der Sprache bereits Interesse an dem Projekt haben.

+0

Dies ist ein guter Rat. Wähle nicht etwas aus, von dem du denkst, dass es gut ist, wähle etwas, das du machen willst (mittelalterliche Folterwerkzeug-Datenbank, Strickmuster-Designer, was auch immer deine Pfeife pfeift). Dann tu es. Es kann gut sein, dass das, was du wählst, nicht gut zu Pythons Art passt. Es kann sogar sein, dass dein "Produkt" Müll ist. Das ist irrelevant. Du wirst eine Menge über Python * und * lernen. Es ist etwas, bei dem dir nicht langweilig wird. – paxdiablo

4

ich immer machte ein kleines Spiel finden, ist eine schöne Möglichkeit, eine Sprache PyGame macht es einfach und könnte zu lernen, helfen, mehr über Python zu lernen. Ich schlage vor, es zu geben, wenn Sie so geneigt sind.

12

Das hängt wirklich davon ab, was Sie genießen oder bauen möchten. Da du es nicht gesagt hast, werde ich dir etwas empfehlen, das mir gefallen hat. Programming Collective Intelligence von Toby Segaran ist ein lustiges Buch, und die Beispiele sind alle in Python. Es könnte für Sie interessanter sein - wenn nichts anderes, würde es Ihrem Web-Crawler etwas mit den Seiten zu tun, die es sammelt.

Edit: Fussspawns Vorschlag von PyGame ist sehr gut, wenn ich keine Bücher mehr haben will und einfach nur "reintauchen" will.

+0

Ich liebte auch das Buch <3 – Fusspawn

+0

Danke, ich war auf dieses Buch gestoßen, wusste aber nicht, dass die Beispiele in Python waren –

3

Finden Sie ein interessantes Open-Source-Projekt, an dem Sie teilnehmen können. Sie könnten mit der Suche nach pythonsource oder sourceforge beginnen.

1

Das Verzeichnis Tools/webchecker/, das in Ihrer Python-Distribution sein sollte (sonst erhalten Sie es über den Link, den ich gab), ist ein Start - mit vielen Einschränkungen (kein Threading außer in wsgui.py, keine asynchrone Operation, .. .), aber einige von ihnen zu entfernen wäre eine großartige Lernerfahrung!

Ein weit überlegenes Spideringsystem könnte auf Twisted, z.B. beginnend mit dem Snippet am Ende von this mail (das nur eine Seite bekommt, aber auf die richtige asynchrone Art!) und die andere Funktionalität, die Sie in Webchecker beispielhaft sehen (Parse und Respekt robots.txt, erhalten Links von Seiten, etc).

4

Um mit dem Web-Crawling zu beginnen, betrachten Sie das Scrapy-Framework.

http://scrapy.org/

„Scrapy ist ein hohes Maß Schaben und Web-Framework kriechen Spinnen für das Schreiben von Web-Seiten für alle möglichen Zwecke, von Information Retrieval für die Überwachung oder Prüfung Web-Sites zu kriechen und zu analysieren.“

Es ist immer noch in Richtung einer ersten Version, aber ist nutzbar und hat anständige Dokumentation.

Für sehr einfache Web-Scraping, Mechanize Check-out (für grundlegende Web-Browsing "") und BeautifulSoup (für "html Suppe" Parsen):

http://wwwsearch.sourceforge.net/mechanize/

http://www.crummy.com/software/BeautifulSoup/

Ein Spaß, was zu wäre es, diese Interessen mit einigen Projekten zur Verarbeitung natürlicher Sprache zu kombinieren. Das NLTK Buch vor kurzem von O'Reilly veröffentlicht ist auch online verfügbar:

http://www.nltk.org/book

Viel Spaß hatten, um diese Interessen zu kombinieren. :-)

5

Wenn Sie Mathe mögen, versuchen Sie Python zu lernen, indem Sie Project Euler problems mit Python lösen. Jedes Problem ist nicht zu viel Code und es hat mir geholfen, meine Python-Fähigkeiten zu erhöhen.

+0

Dies wird Ihre erhöhen mathematische Fähigkeiten und Ihre allgemeine Algorithmus-Fähigkeit. –

4

Wenn Sie über das Web-Crawlen hinaus expandieren möchten und kein eigenes Projekt starten möchten (oder nicht wissen, was zu tun ist), lesen Sie. Es ist ein Spiel, in dem Sie Puzzles mit etwas Python-Code lösen müssen. Ich habe es wirklich genossen.

+0

Gerade mit Python begonnen, aber diese Herausforderungen machen wirklich Spaß. Eine nette Art sich mit verschiedenen Bereichen der Sprache vertraut zu machen –

+0

Liebe die Python Challenge, danke für die Post! –

0

Andere haben es gesagt, aber ich wiederhole: Arbeit an etwas, das dich interessiert, oder es wird keinen Spaß machen.

Wenn Sie entscheiden, dass ein Crawler Spaß machen würde, werfen Sie einen Blick auf google-kongulo, Web-Spider-Plugin für Google Desktop-Suche. Der Code ist ziemlich kurz und gut geschrieben, so dass dies eine gute Grundlage für Sie sein kann, wenn Sie entscheiden, was Sie crawlen möchten.

0

Wenn Sie sich speziell für das Crawlen im Internet interessieren, lesen Sie den dreiteiligen Vortrag "Scrape the Web" auf der PyCon 2009. Es ist Teil dieser RSS feed.

Verwandte Themen