Ces derniers jours, lors de la collecte d'une certaine page Web, la plupart des pages Web étaient correctes, mais un petit nombre de pages Web contenaient des caractères tronqués. Après quelques jours de débogage, j'ai finalement découvert que cela était dû à des caractères illégaux. . Ceci est enregistré
1. Dans des circonstances normales, vous pouvez utiliser
import chardet thischarset = chardet.detect(strs)["encoding"]
pour obtenir l'encodage. méthode du fichier ou de la page
Ou récupérez directement le charset = xxxx de la page pour obtenir
2. Lorsqu'il y a des caractères spéciaux dans le contenu, l'encodage spécifié provoquera également des caractères tronqués. Autrement dit, en raison de caractères illégaux dans le contenu, vous pouvez utiliser le processus de codage en ignorant les caractères illégaux.
strs = strs.decode("UTF-8","ignore").encode("UTF-8")
Le deuxième paramètre du décodage indique la méthode à adopter en cas de rencontre de caractères illégaux
Ce paramètre lève par défaut une exception.
Ce qui précède est la solution parfaite au problème de la collection chinoise tronquée en python apporté par l'éditeur. J'espère que cela sera utile à tout le monde. S'il vous plaît, soutenez-moi. Site Web PHP chinois
Pour plus d'articles liés à la méthode Python de collecte de caractères chinois tronqués, veuillez faire attention au site Web PHP chinois !