Comment décoder des objets de type octet pour résoudre « TypeError : impossible d'utiliser un modèle de chaîne sur un objet de type octet » ?

Linda Hamilton
Libérer: 2024-11-19 04:11:02
original
147 Les gens l'ont consulté

How to Decode Byte-Like Objects to Resolve

Décodage d'objets de type octet pour résoudre "TypeError : impossible d'utiliser un modèle de chaîne sur un objet de type octet"

Lors de la tentative pour extraire le texte d'une page Web à l'aide d'expressions régulières, vous pouvez rencontrer l'erreur « TypeError : impossible d'utiliser un modèle de chaîne sur un objet de type octets ». Cela se produit lorsque vous tentez d'appliquer un modèle d'expression régulière basé sur une chaîne à un objet de type octet (par exemple, la réponse d'un serveur Web).

La solution à ce problème consiste à décoder l'objet de type octet en une chaîne avant d’appliquer le modèle regex. Dans votre cas, vous devez modifier la ligne suivante :

html = response.read()
Copier après la connexion

avec ce qui suit :

html = response.read().decode('utf-8')
Copier après la connexion

En décodant l'objet html à l'aide de l'encodage 'utf-8', vous vous assurez qu'il s'agit d'un objet chaîne, compatible avec les modèles d'expressions régulières.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal