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

2

使用(非常)天真的正则表达式方法:

import re
re.sub(r'<[^>]+>', '', row)
于 2013-09-20T13:44:47.130 回答