我想在汤中创建允许标记的白名单,并删除剩下的(基本上将某些标记列入白名单)。像这样的事情,除了工作:BeautifulSoup逆选择
HTML:
<title>title</title>
<p>p</p>
<span>span</span>
<script>script</script>
的Python:
>>> p = soup.find_all('p')
>>> span = soup.find_all('span')
>>> title = soup.find_all('title')
>>> whitelist = p + span + title
>>> [el.extract() for el in soup.find_all() if el not in whitelist]
这只是返回空白汤。这怎么能做到?
如果是白名单,你确定要'如果el不在白名单中'而不是'如果el在白名单中? – shuttle87
除了上面的注释之外,你是否已经完成了'findall',你不能通过'whitelist'循环吗?还是真的是黑名单? – beroe