utf8 codec ne peut pas décoder les octets 0x96 en python

Je suis en train de vérifier si un mot est sur une page pour de nombreux sites. Le script fonctionne très bien, pour dire les 15 sites et puis il s'arrête.

UnicodeDecodeError: 'utf8' codec ne peut pas décoder les octets 0x96 en position 15344: invalid octet de départ

J'ai fait une recherche sur stackoverflow et trouvé beaucoup de questions sur elle, mais je n'arrive pas à comprendre ce qui s'est passé dans mon cas.

J'aimerais le résoudre ou s'il y a une erreur d'ignorer ce site. Pls conseils comment je peux faire ce que je suis nouvelle et le code ci-dessous en lui-même m'a pris une journée pour écrire. Par la façon dont le site dont le script a été interrompu sur http://www.homestead.com

filetocheck = open("bloglistforcommenting","r")
resultfile = open("finalfile","w")

for countofsites in filetocheck.readlines():
        sitename = countofsites.strip()
        htmlfile = urllib.urlopen(sitename)
        page = htmlfile.read().decode('utf8')
        match = re.search("Enter your name", page)
        if match:
            print "match found  : " + sitename
            resultfile.write(sitename+"\n")

        else:
            print "sorry did not find the pattern " +sitename

print "Finished Operations"

Selon la Marque, les commentaires, j'ai changé le code pour mettre en œuvre beautifulsoup

htmlfile = urllib.urlopen("http://www.homestead.com")
page = BeautifulSoup((''.join(htmlfile)))
print page.prettify() 

maintenant j'obtiens cette erreur

page = BeautifulSoup((''.join(htmlfile)))
TypeError: 'module' object is not callable

Je suis en train de leur démarrage rapide exemple de http://www.crummy.com/software/BeautifulSoup/documentation.html#Quick%20Start. Si je l'ai copier coller le code fonctionne très bien.

J'ai ENFIN réussi à le faire fonctionner. Merci à vous tous pour votre aide. Voici le code final.

import urllib
import re
from BeautifulSoup import BeautifulSoup

filetocheck = open("listfile","r")

resultfile = open("finalfile","w")
error ="for errors"

for countofsites in filetocheck.readlines():
        sitename = countofsites.strip()
        htmlfile = urllib.urlopen(sitename)
        page = BeautifulSoup((''.join(htmlfile)))  
        pagetwo =str(page) 
        match = re.search("Enter YourName", pagetwo)
        if match:
            print "match found  : " + sitename
            resultfile.write(sitename+"\n")

        else:
            print "sorry did not find the pattern " +sitename

print "Finished Operations"