Python 美汤去除多余文字
Python beautiful soup removing extra text
<div class="friendBlockContent">
Bartdavy<br>
<span class="friendSmallText">
Online
</span>
</div>
是html,我试过了
for div in soup.findAll("div", class_="friendBlockContent", ):
print(div)
这让我知道他是否在线,我只想知道他的名字,我该怎么做?
如果你能确定结构与你发布的相似,你可以使用下面的代码:
for div in soup.findAll("div", class_="friendBlockContent", ):
print(div.contents[0].strip())
div
有两个文本节点,您可以使用 .strings
访问并使用 .stripped_strings
获取干净的数据。
然后用 name
和 online
字段解压两个节点。
In [50]: for div in soup.findAll("div", class_="friendBlockContent", ):
...: name, online = div.stripped_strings
...:
In [51]: name
Out[51]: 'Bartdavy'
In [52]: online
Out[52]: 'Online'
实现此目的的好方法:
for div in soup.findAll("div",class_="friendBlockContent", ):
print(div.contents[0])
<div class="friendBlockContent">
Bartdavy<br>
<span class="friendSmallText">
Online
</span>
</div>
是html,我试过了
for div in soup.findAll("div", class_="friendBlockContent", ):
print(div)
这让我知道他是否在线,我只想知道他的名字,我该怎么做?
如果你能确定结构与你发布的相似,你可以使用下面的代码:
for div in soup.findAll("div", class_="friendBlockContent", ):
print(div.contents[0].strip())
div
有两个文本节点,您可以使用 .strings
访问并使用 .stripped_strings
获取干净的数据。
然后用 name
和 online
字段解压两个节点。
In [50]: for div in soup.findAll("div", class_="friendBlockContent", ):
...: name, online = div.stripped_strings
...:
In [51]: name
Out[51]: 'Bartdavy'
In [52]: online
Out[52]: 'Online'
实现此目的的好方法:
for div in soup.findAll("div",class_="friendBlockContent", ):
print(div.contents[0])