Я не вижу «Метод применяется к упорядочению поверхности и сегрегации на поверхности (111)» в html.Но учитывая то, что здесь, вы можете хранить HTML в виде строки.
, который даст вывод:
>>> print (text)
Out[36]: '\n\n\n\n\n\n Pt\n \n\n\n (\n \n\n 1\n \n\n −\n \n\n x\n \n\n )\n \n\n\n\n\n Ru\n \n\n x\n \n\n\n\n\n alloys in the presence of adsorbing oxygen. \n'
Затем используйте регулярное выражение для удаления пробелов и новых строк:
import bs4
import re
html = '''<p>
<span class="aps-inline-formula">
<math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
<mrow>
<msub>
<mi mathvariant="normal">
Pt
</mi>
<mrow>
<mo>
(
</mo>
<mn>
1
</mn>
<mo>
−
</mo>
<mi>
x
</mi>
<mo>
)
</mo>
</mrow>
</msub>
<msub>
<mi mathvariant="normal">
Ru
</mi>
<mi>
x
</mi>
</msub>
</mrow>
</math>
</span>
alloys in the presence of adsorbing oxygen.
</p>'''
soup = bs4.BeautifulSoup(html, 'html.parser')
text = soup.find('p').text
string = re.sub('[ \n]+', ' ', text).strip()
Вывод:
>>> print (string)
Pt ( 1 − x ) Ru x alloys in the presence of adsorbing oxygen.