靓汤:提取标签之间的所有数据

2024-06-10 11:42:03 发布

您现在位置:Python中文网/ 问答频道 /正文

<p>
 <strong>
  <em>
   Insurtech
  </em>
 </strong>
</p>
<p> .....Some data </p>
<p>
 <strong>
  <em>
   Biometrics
  </em>
 </strong>
</p>

我试过了: html标记=汤。找到所有(“他们”) 对于范围内的i(len(html_标记)-1): start_tag=html_标记[i] end_tag=html_标记[i+1] between_tag=(汤_结构分裂(str(起始标记))[1]。拆分(str(结束标记))[0] soup1=BeautifulSoup(在标记之间,'html.parser') 我想要从第一个p->strong->em到下一个p->strong->em的所有数据标签。这个是我的样品数据。谢谢提前**


Tags: 数据标记datalenhtmltagsomebetween
2条回答

您可以使用.text方法访问所需的信息。在

例如:

s = """<p>
 <strong>
  <em>
   Insurtech
  </em>
 </strong>
</p>
<p> .....Some data </p>
<p>
 <strong>
  <em>
   Biometrics
  </em>
 </strong>
</p>"""

from bs4 import BeautifulSoup
soup = BeautifulSoup(s, "html.parser")
html_tags = soup.find_all('p')
for h in html_tags:
    print(h.text.strip())     # >Update.

输出:

^{pr2}$
s = '''<p>
 <strong>
  <em>
   Insurtech
  </em>
 </strong>
</p>
<p> .....Some data </p>
<p>
 <strong>
  <em>
   Biometrics
  </em>
 </strong>
</p>'''

from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'html.parser')

>>> list(soup.stripped_strings)
['Insurtech', '.....Some data', 'Biometrics']

相关问题 更多 >