Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2023, 12:40   #1
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию Избавиться от тегов

здравствуйте, от тегов избавляюсь таким образом:
Код:
with open(patch_doc + file, 'r', encoding='utf-8') as f_in:  # исходные документы htm
            soup = BeautifulSoup(f_in.read(), 'html.parser')
            txt = soup.get_text().strip()
но строку хтмл
Код:
<td style="padding-left: 3pt;padding-right: 3pt;padding-top: 5pt;padding-bottom: 5pt;min-height: 12pt; border-left: none; border-right: none; border-top: none; border-bottom: none; " valign="top" align="left"><div class="s0 aC bG">Боковой ветер</div></td><td style="padding-left: 3pt;padding-right: 3pt;padding-top: 5pt;padding-bottom: 5pt;min-height: 12pt; border-left: none; border-right: none; border-top: none; border-bottom: none; " valign="top" align="left"><div class="s0 aC bG">Низколетящие самолеты</div></td><td style="padding-left: 3pt;padding-right: 3pt;padding-top: 5pt;padding-bottom: 5pt;min-height: 12pt; border-left: none; border-right: none; border-top: none; border-bottom: none; " valign="top" align="left"><div class="s0 aC bG">Тоннель</div></td></tr>
которую питон после обработки сделал: Боковой ветерНизколетящие самолетыТоннель
что НЕ есть хорошо, как это поправил на:
Код:
with open(patch_doc + file, 'r', encoding='utf-8') as f_in:  # исходные документы htm
    soup = BeautifulSoup(f_in.read(), 'html.parser')
    # чтобы НЕ были объединены: Боковой ветерНизколетящие самолетыТоннель
    for tag in soup.find_all('td'):
        tag.string = tag.text
    txt = soup.get_text().strip()
не помогло, как подправить НЕ регулярками?
Ципихович Эндрю вне форума Ответить с цитированием
Старый 22.12.2023, 12:53   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
не помогло
Так вы тоже самое написали. txt надо было в цикл и делать + \n

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
как подправить НЕ регулярками?
Код:
soup.get_text("\n", strip=True)
p51x вне форума Ответить с цитированием
Старый 22.12.2023, 14:17   #3
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

это называется одно лечим-другое калечим
поэтому не в этой теме, а ранее как-то спрашивал
вручную делаю
1 выделил .htm файл
2 открыл браузером
3 выделил всё
4 скопировал и поместил в переменную
профит - как такое сделать питоном?
а так как говорю одно лечим-другое калечим - и это Не только у меня, пруд пруди подобных вопросов\тем\топиков в сети........
Ципихович Эндрю вне форума Ответить с цитированием
Старый 22.12.2023, 14:42   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Вы же делали soup.get_text()
p51x вне форума Ответить с цитированием
Старый 22.12.2023, 15:23   #5
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

Код:
import os
os.startfile(patch_doc)
далее нужно всё выделить и взять выделенное в переменную и как это сделать НЕ видимо для пользователя, мне нужно без bs4 в нём есть недочёты из предлагаемых вариантов решения, а если учесть, что ещё и файл будет менять то тем паче......
как это сделать?
Ципихович Эндрю вне форума Ответить с цитированием
Старый 22.12.2023, 15:27   #6
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

а вот и картинка, это вид в браузере
Изображения
Тип файла: png боковой ветер.png (57.3 Кб, 11 просмотров)
Ципихович Эндрю вне форума Ответить с цитированием
Старый 22.12.2023, 16:28   #7
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,043
По умолчанию

Код:
with open(patch_doc + file, 'r', encoding='utf-8') as f_in:  # исходные документы htm
    soup = BeautifulSoup(f_in.read(), 'html.parser')
    txt = soup.get_text().strip()
    # txt = soup.get_text("\n", strip=True)
тогда считает как:
1.291.301.31
Боковой ветерНизколетящие самолетыТоннель
Плохо!!!
Если в коде будет:
Код:
with open(patch_doc + file, 'r', encoding='utf-8') as f_in:  # исходные документы htm
    soup = BeautifulSoup(f_in.read(), 'html.parser')
    # txt = soup.get_text().strip()
    txt = soup.get_text("\n", strip=True)
тогда множество строк вида:
(в ред.
Постановления
Правительства РФ от 14.12.2005 N 767)
будут разделены на три части - плохо!!!!
это происходит в файле: 5. ГОСТ Р 52289-2019_01.04.2020.htm
как же выбрать золотую середину, чтобы было хорошо?
хотел приложить файл, увы, сообщение:
5. ГОСТ Р 52289-2019_01.04.2020.htm:
Некорректный файл
Ципихович Эндрю вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Облако тегов Svastika1488 Microsoft Office Excel 1 18.02.2016 10:01
Копирование тегов из XML sergei92 C++ Builder 0 16.09.2015 11:27
Сферы тегов Zeraim Свободное общение 5 21.12.2009 19:11
3d облако тегов serega_od PHP 5 20.07.2009 15:37