gpt4 book ai didi

python - 如何提取之间的所有数据

转载 作者:行者123 更新时间:2023-11-30 23:34:27 25 4
gpt4 key购买 nike

<p align="JUSTIFY"><a href="#abcd"> Mr A </a></p>
<p align="JUSTIFY">I </p>
<p align="JUSTIFY"> have a question </p>
<p align="JUSTIFY">&nbsp;</p>
<p align="JUSTIFY"><a href="#mnop"> Mr B </a></p>
<p align="JUSTIFY">The </p>
<p align="JUSTIFY">answer is</p>
<p align="JUSTIFY">not there</p>
<p align="JUSTIFY">&nbsp;</p>
<p align="JUSTIFY"><a href="wxyz"> Mr C </a></p>
<p align="JUSTIFY">Please</p>
<p align="JUSTIFY">Help</p>

我想在 的帮助下迭代数据的提取。

  • 第一次迭代应显示我有一个问题
  • 第二次迭代应显示答案不存在
  • 人名也应该提取到不同的列表中..例如 ['Mr A','Mr B','Mr C']

如果有人知道如何做到这一点,它可能会很有用,因为我正在尝试学习Python,但遇到了这个问题。我尝试过的代码是

for t in soup.findAll('p',text = re.compile('&nbsp;'), attrs = {'align' : 'JUSTIFY'}):
print t
for item in t.parent.next_siblings:
if isinstance(item, Tag):
if 'p' in item.attrs and 'align' in item.attrs['p']:
break
print item

它返回[],这不是想要的

最佳答案

您可以使用 BeautifulSoup 来做到这一点:

from bs4 import BeautifulSoup

s = ""

html = '<p align="JUSTIFY">I </p>\
<p align="JUSTIFY"> have a question </p>\
<p align="JUSTIFY">&nbsp;</p>\
<p align="JUSTIFY">The </p>\
<p align="JUSTIFY">answer is</p>\
<p align="JUSTIFY">not there</p>\
<p align="JUSTIFY">&nbsp;</p>\
<p align="JUSTIFY">Please</p>\
<p align="JUSTIFY">Help</p>'

soup = BeautifulSoup(html)
title = soup.findAll("p", {"align" : "JUSTIFY"})

for i in title:
s += ''.join(i.contents)

f = s.split("&nbsp;")
for i in f:
print i

关于python - 如何提取之间的所有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18123250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com