Seite 1 von 1

Fehlermeldung in mechanize lib -->ValueError: unichr() arg not in range(0x10000) (narrow Python build)

Verfasst: Samstag 13. August 2016, 12:37
von bob1704
Hallo zusammenm,
ich probiere mit der mechanize lib, Infos aus einem HTML Code zu extrahieren.

Wenn ich mit

Code: Alles auswählen

for form in br.forms(): 
								print "Form name:", form.name
probieren über die html form tags zu iterrieren, kommt folgeden Meldung : ValueError: unichr() arg not in range(0x10000) (narrow Python build). Weiß einer wo da Problem liegt ?

Mein Vermutung ist, dass das Ganze was mit unicode -escape zu tun hat, da das Ganze nur bei bestimmten Urls wie beispielsweise https://www.amazon.de/dp/B000ORY8N4 auftritt. Gibts hier eventuell mit "B000ORY8N4" Probleme ?

Vllt weiß ja jmd abhilfe :-)

Gruß u schönes WE

Re: Fehlermeldung in mechanize lib -->ValueError: unichr() arg not in range(0x10000) (narrow Python build)

Verfasst: Samstag 13. August 2016, 18:33
von Sirius3
@bob1704: das Problem ist, dass Mechanize nicht mit Entities wie 😊 umgehen kann, was dem Zeichen :) (was dieses Forum auch nicht darstellen kann) entspricht. Da das Projekt seit 5 Jahren tot ist, wird sich daran wohl auch nichts mehr ändern.

Da hilft wohl nur patchen:

Code: Alles auswählen

__builtins__.unichr = lambda n: ("\\U%08x" % n).decode('unicode-escape')

Re: Fehlermeldung in mechanize lib -->ValueError: unichr() arg not in range(0x10000) (narrow Python build)

Verfasst: Samstag 13. August 2016, 19:38
von bob1704
Hi, danke schonmal für die gute Rückmeldung.

Könntest du mit vllt erklären, wo genau und wie ich den Code Schniosel eeinzuffügen hab ?

Danke u Gruß

Re: Fehlermeldung in mechanize lib -->ValueError: unichr() arg not in range(0x10000) (narrow Python build)

Verfasst: Samstag 13. August 2016, 20:07
von Sirius3
@bob1704: am besten im Hauptprogramm nach den imports. Da fällt es im Zweifel auch sofort auf.