Python 使用beautifulsoup从td标记中的粗体标记中分离文本
我正在尝试检索td标记之间的内容,但不包含以下任何标记:Python 使用beautifulsoup从td标记中的粗体标记中分离文本,python,python-2.7,beautifulsoup,Python,Python 2.7,Beautifulsoup,我正在尝试检索td标记之间的内容,但不包含以下任何标记: <td class="formSummaryPosition"><b>1</b>/9</td> 我理解。内容将为我提供以下信息: [[<b>1</b>, u'/9'], [<b>4</b>, u'/11'], [<b>2</b>, u'/8'], ...] 如果有人知道如何最有效地实现这一点,我将不胜感激 欢呼声对元
<td class="formSummaryPosition"><b>1</b>/9</td>
我理解。内容将为我提供以下信息:
[[<b>1</b>, u'/9'], [<b>4</b>, u'/11'], [<b>2</b>, u'/8'], ...]
如果有人知道如何最有效地实现这一点,我将不胜感激
欢呼声对元素使用方法:
如果只需要文档或标记的文本部分,可以使用
get_text()方法。它返回文档中或文档下的所有文本
标记,作为单个Unicode字符串
>>来自bs4导入组
>>>data=”“”
...
...
... 1/9
... 4/11
... 2/8
...
...
... """
>>>汤=美汤(数据)
>>>打印[td.get_text(),用于汤中的td.find_all('td',class='formSummaryPosition')]
[u'1/9',u'4/11',u'2/8']
效果很好!现在如何删除值之前的“u”?非常感谢,顺便说一句:)@user3374113好吧,你可以对每一项调用str()
,但你并不需要。这只是意味着它是一个unicode字符串,谢谢,我找到了:print[str(td.get_text())表示汤中的td.find_all('td',class='formSummaryPosition')]
[[<b>1</b>, u'/9'], [<b>4</b>, u'/11'], [<b>2</b>, u'/8'], ...]
o = [[1/9],[4/11],[2/8]...]
>>> from bs4 import BeautifulSoup
>>> data = """
... <table>
... <tr>
... <td class="formSummaryPosition"><b>1</b>/9</td>
... <td class="formSummaryPosition"><b>4</b>/11</td>
... <td class="formSummaryPosition"><b>2</b>/8</td>
... </tr>
... </table>
... """
>>> soup = BeautifulSoup(data)
>>> print [td.get_text() for td in soup.find_all('td', class_='formSummaryPosition')]
[u'1/9', u'4/11', u'2/8']