Ich schreibe einen Crawler in Ruby (1.9), der viel HTML von vielen zufälligen Sites verbraucht.
Beim Versuch, Links zu extrahieren, habe ich mich entschieden, .scan(/href="(.*?)"/i)
anstelle von nokogiri / hpricot (größere Beschleunigung) zu verwenden. Das Problem ist, dass ich jetzt viele " invalid byte sequence in UTF-8
" Fehler erhalte .
Soweit ich verstanden habe, verfügt die net/http
Bibliothek über keine codierungsspezifischen Optionen, und das eingehende Material ist im Grunde nicht richtig gekennzeichnet.
Was wäre der beste Weg, um tatsächlich mit diesen eingehenden Daten zu arbeiten? Ich habe versucht, .encode
die Optionen "Ersetzen" und "Ungültig" festzulegen, aber bisher kein Erfolg ...
'U*'
rückgängig zu machen 'C*'
?