какой код DO
Я пытаюсь прочитать каждый файл из предоставленной мною папки и извлекаю некоторую строку, используя пакет bs4 Soup в python.
Я получил ошибку при чтении файла, который не могут прочитать некоторые символы Юникода.
ошибка
Traceback (последний вызов был последним): Файл "C:----- \ check.py ", строка 25, в супе = BeautifulSoup (text.read (), 'html.parser') Файл" C: \ Python \ Python37 \ lib \ encodings \ cp1252.py ", строка23, в декодировании, возвращают codecs.charmap_decode (input, self.errors, decoding_table) [0] UnicodeDecodeError: кодек «charmap» не может декодировать байт 0x9d в позиции 3565: символ отображается на
from bs4 import BeautifulSoup
from termcolor import colored
import re, os
import requests
path = "./brian-work/"
freddys_library = os.listdir(path)
def getfiles():
for r, d, f in os.walk(path):
for file in f:
if '.html' in file:
files.append(os.path.join(r, file))
return files
for book in getfiles():
print("file is printed")
print(book)
text = open(book, "r")
soup=BeautifulSoup(text.read(), 'html.parser')
h1 = soup.select('h1')[0].text.strip()
print(h1)
if soup.find('h1'):
h1 = soup.select('h1')[0].text.strip()
else:
print ("no h1")
continue
filename1=book.split("/")[-1]
filename1=filename1.split(".")[0]
print(h1.split(' ', 1)[0])
print(filename1)
if h1.split(' ', 1)[0].lower() == filename1.split('-',1)[0] :
print('+++++++++++++++++++++++++++++++++++++++++++++');
print('same\n');
else:
print('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX');
print('not')
count=count+1
Пожалуйста, помогите, что я должен исправить здесь.
Спасибо