You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HTML解析:如何提取特定<tr>标签下所有标签的文本内容

How to Extract All Text from a Specific Tag Using BeautifulSoup

No need to loop through individual tags like you did with <strong>—BeautifulSoup has a built-in method to grab all text inside an element, no matter how nested it is. Here's how to do it:

Step 1: Locate your target <tr> tag

First, you need to find the specific <tr> element you want. If it's the only one in your HTML, you can use soup.find('tr'). If there are multiple, narrow it down with attributes (like a class, id, or surrounding element structure) to target the right one.

Step 2: Use .get_text() to extract all nested text

Once you have the <tr> element, call .get_text() on it. This method pulls every piece of text from all child elements (lists, links, bold text, etc.) and combines them. Use optional parameters to clean up whitespace:

  • separator: Adds a space (or custom character) between text chunks to avoid messy concatenation.
  • strip=True: Removes leading/trailing whitespace from the final result.

Example Code

Using your sample <tr> HTML, here's a working code snippet:

from bs4 import BeautifulSoup

# Replace with your actual HTML source
html = """
<tr> 
<td style="border:0px solid black;padding: 0px 5.4pt;border-color: currentColor windowtext windowtext;border-style: none solid solid;border-width: medium 0pt 0pt;background: white;" width="39"> 
<p align="center" style="min-height: 8pt; padding: 0px; text-align: center;"> 
</p> 
</td> 
<td colspan="7" style="border:0px solid black;vertical-align: top;text-align: left;padding: 0px 5.4pt;border-color: currentColor windowtext windowtext currentColor;border-style: none solid solid none;border-width: medium 0pt 0pt medium;background: white;" width="683"> 
<ol style="list-style-type: decimal;"> 
<li>Process the return per standard procedures. Refer to the <a class="jive-link-wiki-small" data-containerid="2456" data-containertype="14" data-objectid="12425" data-objecttype="102" href="https://iconnect.sprint.com/docs/DOC-12425">Sprint Satisfaction Guarantee Procedure</a> for steps.</li> 
<li>RMS will reset the eligibility when doing a <strong>Sprint Monthly Installments Return</strong>. If the original transaction was performed in RMS, the system will display a message and advise that a history transaction can be performed or you can proceed with a No History Return</li> 
<li> To reset Monthly Installments upgrade eligibility and process the return: 
<ol> 
<li>Return the device.</li> 
<li>Re-access the account to see if the line is still <strong>upgrade-eligible for Monthly Installments</strong>.</li> 
</ol> 
<ul> 
<ul> 
<li><strong>If so,</strong> proceed with the sale as normal.</li> 
<li> If the customer's line is showing as <strong>not upgrade-eligible</strong> for Monthly Installments: 
<ol> 
<li>Add a note to the customer's account stating the return transaction number and the need for eligibility reset.</li> 
<li>Reset the customer's eligibility by using the MSA tablet or through iCare <em><strong>or</strong></em></li> 
<li>Contact <strong>NSS</strong> to request an eligibility reset <strong>only</strong> if the reset was <strong>not successful</strong>.<strong> </strong></li> 
</ol> 
</li> 
</ul> 
<ul> 
<li><span style="font-family: Arial;">Once eligibility is reset, pull up the customer's account again in RMS and process the sale.</span></li> 
</ul> 
</ul> 
</li> 
</ol> 
</td> 
</tr>
"""

soup = BeautifulSoup(html, 'html.parser')

# Find the target tr tag
target_tr = soup.find('tr')

# Extract and clean all text
all_text = target_tr.get_text(separator=' ', strip=True)

print(all_text)

Sample Output

The result will be a clean string containing all nested text:

Process the return per standard procedures. Refer to the Sprint Satisfaction Guarantee Procedure for steps. RMS will reset the eligibility when doing a Sprint Monthly Installments Return. If the original transaction was performed in RMS, the system will display a message and advise that a history transaction can be performed or you can proceed with a No History Return To reset Monthly Installments upgrade eligibility and process the return: Return the device. Re-access the account to see if the line is still upgrade-eligible for Monthly Installments. If so, proceed with the sale as normal. If the customer's line is showing as not upgrade-eligible for Monthly Installments: Add a note to the customer's account stating the return transaction number and the need for eligibility reset. Reset the customer's eligibility by using the MSA tablet or through iCare or Contact NSS to request an eligibility reset only if the reset was not successful. Once eligibility is reset, pull up the customer's account again in RMS and process the sale.

This works because .get_text() recursively collects text from every child element of the <tr>, so you don't have to handle each tag type individually.

内容的提问来源于stack exchange,提问作者Dreams

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:37:53