0

非常に大きな csv ファイル (3 GB) の行にある HTML コードからすべてのタグを削除する簡単なことをしようとしています。以下のコードで美しいスープを使ってみました

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

ただし、このような大きなファイルでは、すぐにメモリが不足し、メモリエラーが発生します (マシンに大量の RAM があるため、大量のメモリを使用する必要があります)。だから、これを行うためのメモリ集約型の方法を誰かが知っているかどうか疑問に思っていました。おそらく、正規表現は <> ですべてを削除するだけで機能する可能性があります(ただし、正規表現の使用方法はわかりません)

注: あらゆる種類の HTML タグを削除したいと考えています。上記のコードの remove_tags リストは、データで確認できるすべてのリストで構成されているだけなので、タグ名を指定する必要がないメソッドがあれば、それも機能します。

4

1 に答える 1