User-Agent Generator

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
Benutzeravatar
snafu
User
Beiträge: 6731
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

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.
Benutzeravatar
Defnull
User
Beiträge: 778
Registriert: Donnerstag 18. Juni 2009, 22:09
Wohnort: Göttingen
Kontaktdaten:

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
Bottle: Micro Web Framework + Development Blog
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

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
the more they change the more they stay the same
Benutzeravatar
snafu
User
Beiträge: 6731
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

@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.
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

Ja und es funktioniert!

Ausgabe: http://paste.pocoo.org/show/158092/
the more they change the more they stay the same
Benutzeravatar
snafu
User
Beiträge: 6731
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

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. :)
Benutzeravatar
snafu
User
Beiträge: 6731
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

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.
Antworten