用beautifulsoup获取节点
时间: 2024-05-09 20:15:31 浏览: 139
可以使用 `beautifulsoup` 库中的 `find` 或 `find_all` 方法来获取 HTML 中的节点。
例如,以下是一个 HTML 页面的示例:
```html
<!DOCTYPE html>
<html>
<head>
<title>示例页面</title>
</head>
<body>
<h1>示例标题</h1>
<p>这是一个示例页面。</p>
<ul>
<li>列表项 1</li>
<li>列表项 2</li>
<li>列表项 3</li>
</ul>
</body>
</html>
```
我们可以使用以下代码来获取 `ul` 节点下的所有 `li` 节点:
```python
from bs4 import BeautifulSoup
html = """
<!DOCTYPE html>
<html>
<head>
<title>示例页面</title>
</head>
<body>
<h1>示例标题</h1>
<p>这是一个示例页面。</p>
<ul>
<li>列表项 1</li>
<li>列表项 2</li>
<li>列表项 3</li>
</ul>
</body>
</html>
"""
soup = BeautifulSoup(html, 'html.parser')
ul = soup.find('ul')
lis = ul.find_all('li')
for li in lis:
print(li.text)
```
输出结果为:
```
列表项 1
列表项 2
列表项 3
```
以上代码中,`BeautifulSoup` 的第一个参数是需要解析的 HTML 字符串,第二个参数是解析器类型,这里使用了 `'html.parser'`。然后使用 `find` 方法找到 `ul` 节点,再使用 `find_all` 方法找到 `ul` 节点下的所有 `li` 节点。最后遍历 `lis` 列表,输出每个 `li` 节点的文本内容。
阅读全文