Nabend,
ich öffne per Mechanize (Ruby 193) eine Webseite um lediglich eine Zahl auszulesen. Da diese zahl nicht durch ein bestimmtes Muster von HTML-Tags zu finden ist, muss ich sie anhand der Position im Text finden (der Text davor ist immer der gleiche).
Die Lösung schien erstmal simpel:
Funktioniert für normale Strings einwandfrei. Sind Umlaute im Suchstring, wirft er leider einen Fehler...
page.content.encoding ergibt ASCII-8BIT
suchstring.encoding ergibt CP850
Wollte dann per suchstring.encode('ASCII-8BIT') diesen umwandeln, was mir aber ein
Gibt es eine schönere Variante an diese Zahl zu kommen?
Unabhängig davon, wie bekomme ich das mit dem Index gebacken? Müsste meinen String wohl schon in ASCII-8BIT erstellen. Denke den page.content umzuwandeln ist zu gefährlich, da sich dann evtl die Position der Zahl im String unterscheidet.
Danke schonmal
Gruß
ich öffne per Mechanize (Ruby 193) eine Webseite um lediglich eine Zahl auszulesen. Da diese zahl nicht durch ein bestimmtes Muster von HTML-Tags zu finden ist, muss ich sie anhand der Position im Text finden (der Text davor ist immer der gleiche).
Die Lösung schien erstmal simpel:
Code:
require 'mechanize'
agent = mechanize.new
page = agent.get('http://blabla.de')
puts page.content.index('gesuchter String')
Encoding::CompatibilityError: incompatible character encodings: ASCII-8BIT and CP850
page.content.encoding ergibt ASCII-8BIT
suchstring.encoding ergibt CP850
Wollte dann per suchstring.encode('ASCII-8BIT') diesen umwandeln, was mir aber ein
liefert....Encoding::UndefinedConversionError: U+00D6 to ASCII-8BIT in conversion from CP850 to UTF-8 to ASCII-8BIT
Gibt es eine schönere Variante an diese Zahl zu kommen?
Unabhängig davon, wie bekomme ich das mit dem Index gebacken? Müsste meinen String wohl schon in ASCII-8BIT erstellen. Denke den page.content umzuwandeln ist zu gefährlich, da sich dann evtl die Position der Zahl im String unterscheidet.
Danke schonmal

Gruß