Welches ist das Beste in Python: urllib2, PycURL oder mechanize?

Ok also ich brauche zum herunterladen von einigen web-Seiten mit Python und habe eine schnelle Untersuchung meiner Optionen.

Enthalten mit Python:

das urllib - mir scheint, dass ich verwenden soll, urllib2 statt. das urllib hat keine cookie-Unterstützung, HTTP/FTP/lokale Dateien nur (kein SSL)

urllib2 - vollständige HTTP - /FTP-client, unterstützt die meisten benötigten Dinge wie cookies, unterstützt nicht alle HTTP-Verben (nur GET und POST, keine SPUR, etc.)

Voll ausgestattet:

mechanisieren - /speichern-Firefox/IE cookies, die Aktionen, wie Folgen Sie den zweiten link, aktiv gepflegt (0.2.5 veröffentlicht im März 2011)

PycURL - unterstützt alles was LOCKE tut (FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE und LDAP), bad news: nicht aktualisiert seit Sep 9, 2008 (7.19.0)

Neue Möglichkeiten:

urllib3 - unterstützt die Verbindung re-/pooling-und Datei-posting

Veraltet (ein.k.ein. verwenden Sie das urllib/urllib2 statt):

httplib - HTTP/nur HTTPS (kein FTP)

httplib2 - HTTP/nur HTTPS (kein FTP)

Das erste, was mir auffällt ist, dass das urllib/urllib2/PycURL/mechanize sind alle ziemlich ausgereifte Lösungen, die gut funktionieren. mechanisieren und PycURL Schiff mit einer Reihe von Linux-Distributionen (z.B. Fedora 13) und BSDs, so dass die installation ist ein nicht-Thema in der Regel (so gut).

urllib2 sieht gut aus, aber ich Frage mich, warum PycURL und mechanisieren beide scheinen sehr beliebt ist, ist es etwas, das ich vermisst werde (d.h. wenn ich mit urllib2 werde ich malen, mich in eine Ecke an einem gewissen Punkt?). Ich würde wirklich gerne ein feedback über die vor/Nachteile von diesen Dingen, also kann ich machen, die beste Wahl für mich.

Edit: zusätzlicher Hinweis auf verb Unterstützung in urllib2

Kommentar zu dem Problem
Was bedeutet "beste"? Am besten mit in Bezug auf was? Schnellste? Größten? Beste Verwendung von Cookies? Was müssen Sie tun? Kommentarautor: S.Lott
httplib ist nicht "veraltet". Es ist eine untere Ebene, die Modul urllib2 auf. Sie können es direkt benutzen, aber es ist einfacher via urllib2 Kommentarautor: Corey Goldberg
Was Corey sagte, z.B. urllib3 ist eine Ebene auf der Oberseite der httplib. Auch, httplib2 ist nicht veraltet - es ist tatsächlich neuer als urllib2 und behebt die Probleme, wie die Verbindung wiederzuverwenden (gleiche mit urllib3). Kommentarautor: Yang
Es ist eine neuere Bibliothek namens-Anfragen. Siehe docs.python-requests.org/en/latest/index.html Kommentarautor: ustun
Mit @ustun auf diese: Aufträge nutzen. Kommentarautor: hughdbrown

InformationsquelleAutor der Frage bigredbob | 2010-03-05

Schreibe einen Kommentar