Пытается удалить теги, но быстро не хватает памяти

Я пытаюсь сделать что-то простое, удалив все теги из HTML-кода, которые находятся в строках очень большого CSV-файла (3 ГБ). Я попробовал использовать красивый суп со следующим кодом

remove_tags=['p','li','ul','pre','h1']   
soup=BeautifulSoup(row[1])
for tag in remove_tags:
    for match in soup.findAll(tag):
           match.replaceWithChildren()

Однако с таким большим файлом у меня быстро кончается память, и возникает ошибка памяти (у меня даже много оперативной памяти на моей машине, поэтому для этого нужно ОЧЕНЬ много памяти). Поэтому мне было интересно, если бы кто-нибудь знал о менее интенсивном способе памяти сделать это. Возможно, регулярное выражение могло бы работать, просто удалив все с помощью <> (однако я понятия не имею, как использовать регулярное выражение)

Примечание. Я хочу удалить все теги HTML. Список remove_tags в приведенном выше коде был просто создан, потому что это все, что я мог видеть в данных, поэтому, если есть метод, в котором имена тегов указывать не нужно, это тоже будет работать.

1 ответ

Решение

Используя (очень) наивный подход Regex:

import re
re.sub(r'<[^>]+>', '', row)
Другие вопросы по тегам