Seite 1 von 1

User-Agent Generator

Verfasst: Samstag 19. Dezember 2009, 15:21
von snafu
Gibt es ein fertiges Tool für Python, das aus den Informationen zu Betriebssystem und Sprache einen Mozilla-Agent generieren kann?

Hintergrund ist, dass ich Daten von der Google-Weather-API parse und die Ausgabe gerne in der Sprache des Benutzers hätte. Mit einem "normalen" `urllib.urlopen()` bekomme ich nur eine englische Ausgabe.

Verfasst: Samstag 19. Dezember 2009, 15:58
von Defnull
Ich gehe mal fest davon aus, das Google den Accept-Language Header verarbeitet und nicht den User-Agent

http://www.w3.org/Protocols/rfc2616/rfc ... ml#sec14.4

Verfasst: Samstag 19. Dezember 2009, 16:36
von Dav1d
Du brauchst dazu keine User-Agents

Code: Alles auswählen

lang = 'de' # oder 'en', 'fr', ...
place = 'Munich'
f = ulib.urlopen('http://www.google.de/ig/api?weather=' + place + '&hl=' + lang) 
Fehler in der URl behoben

Verfasst: Samstag 19. Dezember 2009, 16:49
von snafu
@Dav1d:

Hast du das in Python schon ausprobiert? Bei mir bleibt die Ausgabe Englisch. Ich habe ja auch ohne dem Sprachzusatz eine deutsche Ausgabe im Firefox, aber eben nicht in Python.

Verfasst: Samstag 19. Dezember 2009, 16:51
von Dav1d
Ja und es funktioniert!

Ausgabe: http://paste.pocoo.org/show/158092/

Verfasst: Samstag 19. Dezember 2009, 16:56
von snafu
Es ist übrigens so, wie Defnull vermutet hat:

Code: Alles auswählen

In [10]: import urllib2

In [11]: opener = urllib2.build_opener()

In [12]: opener.addheaders = [('accept-language', 'de-de')]

In [13]: opener.open('http://www.google.com/ig/api?weather=gelsenkirchen').read()
Ergibt eine Ausgabe auf deutsch. Danke. :)

Verfasst: Samstag 19. Dezember 2009, 16:59
von snafu
Dav1d hat geschrieben:Ja und es funktioniert!

Ausgabe: http://paste.pocoo.org/show/158092/
Keine Ahnung. Bei mir geht's nicht. Nutze das aktuelle Python aus den Ubuntu-Quellen.