我有一个网站,其中有一个表格,其中包含td
个数字:
...
<td class="click"><span class="content">VALUE | KEY<br />2020-02-02</span></td>
...
我正在使用BeautifulSoup来阅读其内容,目前打印为:VALUE | KEY2020-02-02
。
实现此目的的代码如下:
for tr in soup.find_all('tr'):
cols = []
for td in tr.find_all('td'):
td_text = td.get_text()
if len(td_text):
cols.append(td_text)
temp.append(cols)
最终,我想要实现的是能够打印出来:VALUE|KEY|2020-02-02
- 换句话说,将<br />
代码替换为|
,这样我就可以保留{ {1}},VALUE
和KEY
分开。我该怎么做呢?
答案 0 :(得分:1)
由于您的目标是使用br
替换|
代码,因此您可以执行以下操作:
for br_tag in soup.findAll('br'):
br_tag.replace_with('|')
答案 1 :(得分:0)
您正在选择<td>
元素,然后调用get_text()
函数,该函数返回内部的所有可打印文本(剥离范围)。相反,您可以选择<span>
元素,获取HTML字符串表示(通过在元素上调用str()
,然后在<br/>
上拆分),如下所示:
for tr in soup.find_all('tr'):
cols = []
for td in tr.find_all('td'):
span_html = str(td.find_all('span')).split('<br />')