códec utf8 no puede decodificar el byte 0x96 en python

Estoy tratando de verificar si cierta palabra está en una página para muchos sitios. El script funciona bien para decir 15 sitios y luego se detiene.

UnicodeDecodeError: el códec 'utf8' no puede decodificar el byte 0x96 en la posición 15344: byte de inicio no válido

Hice una búsqueda en stackoverflow y encontré muchos problemas, pero parece que no puedo entender lo que salió mal en mi caso.

Me gustaría resolverlo o si hay un error, omita ese sitio. Pls aconseja cómo puedo hacer esto, ya que soy nuevo y el código a continuación me ha llevado un día escribir. Por cierto, el sitio en el que se detuvo el script fuehttp: //www.homestead.co

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"

egún los comentarios de Mark, cambié el código para implementar beautifulsoup

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

ahora recibo este error

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

Estoy probando su ejemplo de inicio rápido dehttp: //www.crummy.com/software/BeautifulSoup/documentation.html#Quick%20Star. Si copio y lo pego, el código funciona bien.

Finalmente lo puse a trabajar. Gracias por toda tu ayuda. Aquí está el código 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"