Python : 提取 HTML 内容

Python : Extract HTML content

是否有任何方法可以通过提取以下 html、使用 BeautifulSoup 或任何库

来获取 "Data to be extracted" 内容
<div>
    <ul class="main class">
      <li>
        <p class="class_label">User Name</p>
        <p>"Data to be extracted"</p>
      </li>
 </ul>
</div>

在此先感谢您的帮助!! :)

当然有多种选择。对于初学者,您可以使用 class="class_label" 找到 p 元素并获得 next p sibling:

from bs4 import BeautifulSoup

data = """
<div>
    <ul class="main class">
      <li>
        <p class="class_label">User Name</p>
        <p>"Data to be extracted"</p>
      </li>
 </ul>
</div>
"""

soup = BeautifulSoup(data)
print soup.find('p', class_='class_label').find_next_sibling('p').text

或者,使用 CSS selector:

soup.select('div ul.main li p.class_label + p')[0].text

或者,依赖User Name文本:

soup.find(text='User Name').parent.find_next_sibling('p').text

或者,根据 p 元素在 li 标签内的位置:

soup.select('div ul.main li p')[1].text