Maison > développement back-end > Tutoriel Python > Comment résoudre l'erreur « TypeError : impossible d'utiliser un modèle de chaîne sur un objet de type octets » ?

Comment résoudre l'erreur « TypeError : impossible d'utiliser un modèle de chaîne sur un objet de type octets » ?

Patricia Arquette
Libérer: 2024-11-19 11:59:03
original
724 Les gens l'ont consulté

How to Resolve the `TypeError: can't use a string pattern on a bytes-like object` Error?

TypeError : impossible d'utiliser un modèle de chaîne sur un objet de type octets

Cette erreur se produit lorsque vous essayez d'utiliser un modèle de chaîne pour trouver des correspondances dans un objet de type octets, tel que la réponse d'une URL. Pour résoudre ce problème, vous pouvez convertir l'objet de type octet en chaîne avant de l'utiliser dans une recherche d'expression régulière.

Dans le contexte de votre code, vous essayez d'utiliser la fonction re.findall() pour trouver le titre d'une page Web. Cependant, la variable HTML est un objet de type octet et la variable de modèle est une chaîne. Pour résoudre ce problème, vous pouvez décoder la variable html à l'aide de la méthode decode(), en passant l'encodage approprié (tel que 'utf-8'), comme indiqué ci-dessous :

with urllib.request.urlopen(url) as response:
    html = response.read().decode('utf-8')
Copier après la connexion

Après ce changement, le le code devrait fonctionner comme prévu et renvoyer le titre de la page Web.

Lectures complémentaires :

  • [Documentation Python sur la méthode decode()](https://docs.python. org/3/library/io.html#io.IOBase.decode)
  • [Documentation Python sur la récupération d'URL](https://docs.python.org/3/library/urllib.request.html# urllib.request.urlopen)

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