Удалить определенные символы из текста HTML-тега с помощью BeautifulSoup - PullRequest
0 голосов
/ 15 октября 2019

Я извлекаю текст некоторых тегов с веб-страниц и записываю в html-файл в байтах, поскольку я кодирую данные перед записью.

Код:

link = 'https://en.wikipedia.org/wiki/Training,_validation,_and_test_sets#training_set'

req = urllib.request.Request(link, headers={'User-Agent': 'Mozilla/5.0'})
url = urllib.request.urlopen(req).read()

soup =  BeautifulSoup(url.decode("utf-8", "ignore"), 'lxml')

with open(filepath, "wb") as oFile:
     for cls in soup.find_all(["p", "table", "ol", "ul", "h1", "h2"]):                                                 
         try:                
             oFile.write(cls.prettify(encode_name))
         except Exception as e:
             print (e) 
             continue
oFile.close()

Теперь эта веб-страница содержит определенные символы, такие как вместо - и “ ” вместо "", которые не могут быть закодированы utf-8 или cp1252

Поэтому я хотел бы найти эти символы и заменить на вышеупомянутые подходящие символы, но я не уверен, как это сделать здесь.

Я пытался преобразовать cls в string, чтобы попробовать replace(), но выдает ошибку, что строковый объект не имеет атрибута с именем prettify()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...