Кодек utf8 не может декодировать байт 0x96 в питоне

Я пытаюсь проверить, есть ли определенное слово на странице для многих сайтов. Сценарий работает нормально, скажем, для 15 сайтов, а затем останавливается.

UnicodeDecodeError: кодек «utf8» не может декодировать байт 0x96 в позиции 15344: недопустимый начальный байт

Я выполнил поиск по stackoverflow и обнаружил много проблем с ним, но я не могу понять, что пошло не так в моем случае.

Я хотел бы либо решить ее, либо в случае ошибки пропустить этот сайт. Пожалуйста, совет, как я могу сделать это, как я новичок, и сам код ниже занял у меня один день, чтобы написать. Кстати сайт, на котором остановился скрипт был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"

Согласно комментариям Марка, я изменил код для реализации Beautifulsoup

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

теперь я получаю эту ошибку

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

Я пытаюсь их быстрый пример изhttp://www.crummy.com/software/BeautifulSoup/documentation.html#Quick%20Start, Если я копирую и вставляю его, то код работает нормально.

Я наконец получил его на работу. Спасибо за вашу помощь. Вот окончательный код.

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"

Ответы на вопрос(3)

Ваш ответ на вопрос