在字体大小下使用美丽汤提取文本



我最近开始学习python,我想从下面的页面中提取文本

<p>
<font size="">
some text</font>
</p>

但无法获取字体大小内的文本 有什么解决办法吗?

编辑:"一些文本"在刷新时发生变化,这就是问题所在

from bs4 import BeautifulSoup as bs
b = bs("<p>
<font size="5">
some text</font>
</p>")
b.find("font").attrs["size"]

试试这个,

from bs4 import BeautifulSoup
text = """<p>
<font size="10">
some text</font>
</p>"""
soup = BeautifulSoup(text, "html.parser")
soup.find("font").text        # some text
soup.find("font").get('size') # 10

这适用于您的特定示例,但可能需要根据您需要解析的真实 html 进行定制:

from bs4 import BeautifulSoup
html="""<p>
<font size="">
some text</font>
</p>"""
soup = BeautifulSoup(html, 'html.parser')
print(soup.find('p').text)

我认为你可以做这样的事情!

import bs4
import re
data = """
<p>
<font size="">some text</font>
</p>
"""
def striphtml(data):
p = re.compile(r'<.*?>')
return p.sub('', data)
bs = bs4.BeautifulSoup(data, "html.parser")
text = bs.find_all('font')
print(striphtml(str(text)))

输出 :[some text]

最新更新