Python 在字体大小下使用Beauty Soup提取文本
我最近开始学习python,我想从下面的页面中提取文本Python 在字体大小下使用Beauty Soup提取文本,python,beautifulsoup,Python,Beautifulsoup,我最近开始学习python,我想从下面的页面中提取文本 <p> <font size=""> some text</font> </p> 一些文本 但无法获取字体大小内的文本 有解决办法吗 编辑:刷新时“某些文本”会发生更改这就是问题所在 from bs4 import BeautifulSoup text = """<p> <font size="10&quo
<p>
<font size="">
some text</font>
</p>
一些文本
但无法获取字体大小内的文本
有解决办法吗
编辑:刷新时“某些文本”会发生更改这就是问题所在
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
从bs4导入美化组
text=“”
一些文本
“”“
soup=BeautifulSoup(文本,“html.parser”)
soup.find(“font”).text#一些文本
汤。查找(“字体”)。获取(“大小”)#10
从bs4导入BeautifulSoup作为bs
b=b(“\
\
一些文本\
”)
b、 查找(“字体”).attrs[“大小”]
这适用于特定示例,但可能需要根据需要解析的实际html进行裁剪:
from bs4 import BeautifulSoup
html="""<p>
<font size="">
some text</font>
</p>"""
soup = BeautifulSoup(html, 'html.parser')
print(soup.find('p').text)
从bs4导入美化组
html=“”
一些文本
“”“
soup=BeautifulSoup(html,'html.parser')
打印(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)))
导入bs4
进口稀土
data=”“”
一些文本
"""
def striphtml(数据):
p=重新编译(r“”)
返回p.sub(“”,数据)
bs=bs4.BeautifulSoup(数据,“html.parser”)
text=bs.find_all('font')
打印(striphtml(str(text)))
输出:
[some text]
您可以从std库使用。在您的示例中,您希望获取文本“some text”还是实际字体大小“”?我希望获取此文本中的文本,而不是字体大小。我将print(soup.find('p').text)更改为print(soup.find('font').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)))