У меня есть документ, который имеет два типа содержимого: text/xml и text/html. Я хотел бы использовать BeautifulSoup для анализа документа и в конечном итоге с чистой текстовой версией. Документ начинается как кортеж, поэтому я использую функцию rep, чтобы превратить ее во что-то, что распознает BeautifulSoup, а затем, используя find_all, найти только текст/html-бит документа, выполнив поиск разделов, например:Получение чистого текста из текстовых/html-документов с помощью BeautifulSoup
soup = BeautifulSoup(repr(msg_data))
text = soup.html.find_all("div")
затем я поворачиваюсь текст обратно в строку, сохранив его в переменной, а затем включить его в объект супа и вызова get_text на него, например, так:
str_text = str(text)
soup_text = BeautifulSoup(str_text)
soup_text.get_text()
Однако, что затем изменяет кодирование в Юникод, например:
u'[9:16 PM\xa0Erica: with images, \xa0\xa0and that seemed long to me anyway, 9:17
PM\xa0me: yeah, \xa0Erica: so feel free to make it shorter, \xa0\xa0or rather, please do,
9:18 PM\xa0nobody wants to read about that shit for 2 pages, \xa0me: :), \xa0Erica: while
browsing their site, \xa0me: srsly, \xa0Erica: unless of course your writing is magic,
\xa0me: My writing saves drowning puppies, \xa0\xa0Just plucks him right out and gives
them a scratch behind the ears and some kibble, \xa0Erica: Maine is weird, \xa0me: haha]'
При попытке перекодировать его в UTF-8, например, так:
soup.encode('utf-8')
Я вернулся к неанализируемому типу.
Я хотел бы перейти к тому, что у меня есть чистый текст, сохраненный как строка, тогда я могу найти конкретные вещи в тексте (например, «щенки» в тексте выше).
В принципе, я бегу кругами здесь. Может ли кто-нибудь помочь? Как всегда, большое вам спасибо за любую помощь, которую вы можете дать.
Да, это пришло мне в голову, поскольку я опубликовал его, что «разрушенный» немного силен, редактируя его сейчас. И спасибо за видео, я посмотрю. Есть ли у вас какие-либо текстовые ресурсы, которые я мог бы также изучить (я понимаю, что это просто поиск в google, но есть ли какие-либо вам особенно понравившиеся?) – spikem
@spikem что вы ожидаете? У вас есть строка с не-ASCII-символами (неразрывное пространство). Вы не можете просто отмахнуться от них. – katrielalex
Не думаю, что я спросил или ожидал, что они будут отмахиваться, я просто не совсем знаком с Юникодом, поэтому я пришел сюда, чтобы спросить. – spikem