Seite 1 von 1

urllib code alternative

Verfasst: Donnerstag 30. Mai 2013, 09:14
von kevind
Servus,

ich spiel grad mit urllib rum und frage mich ob die Art wie ich es mache in Ordnung ist oder ob ihr bessere alternativen habt.
Speziell die verarbeitung des HTTPResponse Objekts.

Der Code liest einfach die News headlines einer Webseite aus:

Code: Alles auswählen

import urllib.request

arch = urllib.request.urlopen("http://archlinux.org", data=None)
for line in arch:
    line = line.decode()
    if line.find("View full article:") != -1:
        print(line[line.find("\">")+2:-5])


Danke schonmal!

Gruss, Kev

Re: urllib code alternative

Verfasst: Donnerstag 30. Mai 2013, 09:21
von BlackJack
@kevind: Das `requests`-Modul hat eine schönere API als der Kram aus der Standardbibliothek.

Mal davon abgesehen, dass man statt ``if haystack.find(needle) != -1:`` besser ``if needle in haystack:`` schreibt, sollte man HTML mit einem ordentlichen Parser verarbeiten und nicht mit fehleranfälligen Zeichenkettenoperationen. Ich verwende beispielsweise `lxml.html`.