Je souhaite créer un scraper Web. Actuellement, j'apprends Python. C'est les bases mêmes!Erreur de grattage Web Python - TypeError: impossible d'utiliser un modèle de chaîne sur un objet de type octets
python code
import urllib.request
import re
htmlfile = urllib.request.urlopen("http://basketball.realgm.com/")
htmltext = htmlfile.read()
title = re.findall('<title>(.*)</title>', htmltext)
print (htmltext)
Erreur:
File "C:\Python33\lib\re.py", line 201, in findall
return _compile(pattern, flags).findall(string)
TypeError: can't use a string pattern on a bytes-like object
Cela a fonctionné, mais je suis encore confus pourquoi nous avons dû mettre un décodage ('iso-8859-1'). Y a-t-il des sites qui ne nécessiteraient pas cette addition? – Jtwa
@Jtwa vérifier le code source du site que vous essayez de gratter pour 'charset = ...'. Pour le site dans votre question, le jeu de caractères est iso-8859-1. Si aucun n'est donné, votre meilleur pari serait habituellement utf-8. – timgeb