美化组-删除包含';科尔斯潘';属性Python
在到达美化组-删除包含';科尔斯潘';属性Python,python,beautifulsoup,Python,Beautifulsoup,在到达[I.text.strip之前,我需要删除任何包含colspanzzz的行 HTML: <td black="" colspan='3D"8"'>zzz</td> <td>1</td> <td>2</td> <td>3</td> soup = bs.BeautifulSoup(text, 'lxml') table = soup.find('table
[I.text.strip
之前,我需要删除任何包含colspanzzz
的行
HTML:
<td black="" colspan='3D"8"'>zzz</td>
<td>1</td>
<td>2</td>
<td>3</td>
soup = bs.BeautifulSoup(text, 'lxml')
table = soup.find('table')
table_rows = table.find_all('tr')
for tr in table_rows:
td = tr.find_all('td')
print(td)
row = [i.text.strip('\\r\\n').strip('=\\r\\nspan>').strip('=\\r\\n').strip('<=\\r\\n/').strip('\\r\\n') for i in td]
zzz
1.
2.
3.
Python:
<td black="" colspan='3D"8"'>zzz</td>
<td>1</td>
<td>2</td>
<td>3</td>
soup = bs.BeautifulSoup(text, 'lxml')
table = soup.find('table')
table_rows = table.find_all('tr')
for tr in table_rows:
td = tr.find_all('td')
print(td)
row = [i.text.strip('\\r\\n').strip('=\\r\\nspan>').strip('=\\r\\n').strip('<=\\r\\n/').strip('\\r\\n') for i in td]
soup=bs.beautifulsou(文本“lxml”)
table=soup.find('table')
table_rows=table.find_all('tr')
对于表_行中的tr:
td=tr.find_all('td'))
印刷品(td)
行=[i.text.strip('\\r\\n').strip('=\\r\\nspan>).strip('=\\r\\n').strip('=\\r\\n').strip('=\\r\\n').strip('Python列表理解支持动态筛选,如果不是i.get('colspan'),则只需执行put)
在列表中,它将在计算expr
[expr for i in td if not i.get('colspan')]
这应该可以回答你的问题,但是我关心的是你是如何构建td
,你似乎覆盖了td
,在你的for tr表中的行中循环每一次迭代。只留下的最终结果。在中查找所有
完全覆盖td
以进行所有未来计算,并使用colspan
属性过滤掉所有元素-
td=list(过滤器(lambda x:not x.get('colspan'),td))
为什么要删除它?只要在列表中添加一个如果不是i.get('colspan')
就可以了?我想在编辑剩余的文件之前删除它,因为有些文件与colspan一起丢失了,它会干扰我的数据,尤其是当我不需要时them@Chambotd=list(过滤器(lambda x:not x.get('colspan'),td))