Maison > Article > développement back-end > Comment corriger \'TypeError : impossible d'utiliser un modèle de chaîne sur un objet de type octets dans re.findall()\' ?
Problème : Lors de la tentative d'analyse titres de pages Web utilisant des expressions régulières, vous rencontrez une erreur indiquant : "TypeError : impossible d'utiliser un modèle de chaîne sur un objet de type octets dans re.findall()."
Solution :
En Python, lorsqu'il s'agit de données téléchargées comme HTML, il est crucial de convertir des objets de type octets (tels que la variable 'html') en chaînes pour correspondre aux modèles de chaîne. Pour résoudre cette erreur, vous devez décoder la variable 'html' à l'aide de la méthode '.decode()' avant d'appliquer le modèle d'expression régulière.
Code :
with urllib.request.urlopen(url) as response: html = response.read() html = html.decode('utf-8') # Decode the HTML to a string title = re.findall(pattern, html)
Explication :
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!