Beim Sammeln einer bestimmten Webseite in den letzten Tagen waren die meisten Webseiten in Ordnung, aber eine kleine Anzahl von Webseiten hatte verstümmelte Zeichen. Nach einigen Tagen des Debuggens stellte ich schließlich fest, dass dies durch einige illegale Zeichen verursacht wurde .. Dies wird aufgezeichnet
1. Unter normalen Umständen können Sie
import chardet thischarset = chardet.detect(strs)["encoding"]
verwenden, um das zu erhalten Kodierungsmethode der Datei oder Seite
Oder greifen Sie direkt auf den Zeichensatz = xxxx der Seite zu, um
zu erhalten. 2. Wenn der Inhalt Sonderzeichen enthält, führt die angegebene Kodierung auch zu verstümmelten Zeichen . Das heißt, Sie können den Codierungsprozess verwenden, indem Sie illegale Zeichen ignorieren, die durch illegale Zeichen im Inhalt verursacht werden.
strs = strs.decode("UTF-8","ignore").encode("UTF-8")
Der zweite Parameter von decode gibt die Methode an, die angewendet werden soll, wenn auf illegale Zeichen gestoßen wird
Dieser Parameter löst standardmäßig eine Ausnahme aus.
Das Obige ist die perfekte Lösung für das Problem des Sammelns verstümmelter chinesischer Zeichen in Python, das durch die Herausgeber. Ich hoffe, es wird für alle hilfreich sein.
Weitere Artikel zu Pythons Methode zum Sammeln chinesischer verstümmelter Zeichen finden Sie auf der chinesischen PHP-Website!