Можно создать дубликат:
Extracting text from HTML file using Python
Parsing Source Code (Python) Approach: Beautiful Soup, lxml, html5lib difference?Извлечение текста из разметки HTML?
В настоящее время есть большой сайт, исходный код ~ 200,000 линии почти все (если не все) HTML. Более конкретно, это веб-страница, содержимое которой составляет несколько тысяч блоков текста, разделенных разрывами строк (хотя разрыв строки не означает, что существует разделение по контенту)
Моя основная цель - извлечь текст из источника код, как если бы я копировал/вставлял веб-страницу в текстовый редактор. Существует другая функция синтаксического анализа, которую я хотел бы использовать, изначально взятый в скопированном/вставляемом тексте, а не в исходный код.
Для этого я в настоящее время использую urllib2 и вызываю .get_text() в Beautiful Soup. Проблема заключается в том, что Beautiful Soup оставляет в моем коде огромное количество пробелов, и трудно передать результат во второй «текстовый» синтаксический анализатор. Я провел довольно много исследований по разбору HTML-файлов, но я откровенно не уверен, как легко решить эту проблему. Кроме того, я немного смущен тем, как использовать импорт, например lxml, для извлечения текста.
tl; dr: Есть ли какой-либо возможный способ добиться результата, как если бы я просто выбрал All, Copy, Paste на веб-странице?
Для большей ясности HTML не является исходным кодом. Это разметка. –
Если у вас есть решение, но единственная проблема - слишком много пробелов, разве вы не можете просто удалить лишнее пространство? Попробуйте 're.sub (r" \ s + "," ", текст)'. –
- Давид Спасибо за исправление! @GregHewgill Что бы устранить расстояние между разделами, присутствующим на исходной веб-странице, нет? Другая функция разбора я использую эти белые пробелы в своей функции в качестве разделителя, поэтому я бы предпочел не удалять их.): – zhuyxn