如何使用 BeautifulSoup 删除 parent 标签
How to remove parent tag with BeautifulSoup
我正在尝试使用 BeautifulSoup 从 html table 中删除 header 个单元格。我有类似的东西;
<tr> <th> head1 </th> <th> head2 </th> </tr>
我正在使用以下代码删除所有 header 个单元格;
soup = BeautifulSoup(url)
for headless in soup.find_all('th'):
headless.decompose()
这很好用,除了我留下了一个空行,以后会把事情搞砸;
<tr> </tr>
我尝试了以下代码,但我得到一个 AttributeError:'NoneType' object 没有属性 'decompose'
for headless in soup.find_all('th'):
headless.parent.decompose()
如何删除包含 header 单元格的行或稍后删除空白行?谢谢。
那是因为你在第一次迭代时(headless=<th>head2</th>
时)去掉了外面的<tr>
,所以当迭代到<th>head2</th>
时,它的parent就是[=14] =].
相反,您可以像这样迭代具有 child <td>
的 <tr>
s :
for headless in (tr for tr in soup.find_all('tr') if tr.find('th')):
headless.decompose()
我正在尝试使用 BeautifulSoup 从 html table 中删除 header 个单元格。我有类似的东西;
<tr> <th> head1 </th> <th> head2 </th> </tr>
我正在使用以下代码删除所有 header 个单元格;
soup = BeautifulSoup(url)
for headless in soup.find_all('th'):
headless.decompose()
这很好用,除了我留下了一个空行,以后会把事情搞砸;
<tr> </tr>
我尝试了以下代码,但我得到一个 AttributeError:'NoneType' object 没有属性 'decompose'
for headless in soup.find_all('th'):
headless.parent.decompose()
如何删除包含 header 单元格的行或稍后删除空白行?谢谢。
那是因为你在第一次迭代时(headless=<th>head2</th>
时)去掉了外面的<tr>
,所以当迭代到<th>head2</th>
时,它的parent就是[=14] =].
相反,您可以像这样迭代具有 child <td>
的 <tr>
s :
for headless in (tr for tr in soup.find_all('tr') if tr.find('th')):
headless.decompose()