如何使用 BeautifulSoup 将 HTML 中的内容替换为 python 中的字符串?

How do I replace HTML content with a string in python using BeautifulSoup?

>>> from bs4 import BeautifulSoup
>>> sample = '''\
... <section id="about" class="about-section">
...     <div class="container">
...         <div class="row">
...             <div class="col-lg-12">
...                 <h1>About Section</h1>
... 
...                 <p class = "test-message-one"> Hey </p>
... 
...             </div>
...         </div>
...     </div>
... </section>
... '''
>>> soup = BeautifulSoup(sample)
>>> test = soup.find_all(class_='test-message-one')
>>> print(test)

returns

[<p class="test-message-one"> Hey </p>]

如何用 python 中保存的字符串替换内容 'Hey'?

我需要用我保存的变量覆盖 HTML - 但我在 BS4 中理解的大部分文档只显示如何更改 class 的名称 - 而不是内容本身。

假设我在 python:

中有这个字符串
>>> replace=('Testing...123')

如何让它通过 HTML 回写到此:

  >>> from bs4 import BeautifulSoup
    >>> sample = '''\
    ... <section id="about" class="about-section">
    ...     <div class="container">
    ...         <div class="row">
    ...             <div class="col-lg-12">
    ...                 <h1>About Section</h1>
    ... 
    ...                 <p class = "test-message-one"> Testing...123 </p>
    ... 
    ...             </div>
    ...         </div>
    ...     </div>
    ... </section>
    ... '''

你可以这样做,

for i in soup.find_all(class_='test-message-one'):
    i.string = var
print soup

其中 var 是存储替换字符串的变量。