写个解析百度百科html的类
时间: 2023-02-05 19:47:02 浏览: 51
首先,我们需要导入必要的库,比如 `beautifulsoup4` 和 `requests`:
```python
from bs4 import BeautifulSoup
import requests
```
然后,我们可以定义一个类来解析百度百科的 HTML:
```python
class BaiduBaikeParser:
def __init__(self, url):
self.url = url
self.html = self.get_html()
self.soup = BeautifulSoup(self.html, 'html.parser')
def get_html(self):
response = requests.get(self.url)
return response.text
```
这个类有两个方法:
- `__init__` 方法:初始化类的时候会自动调用,用来储存传入的 URL,然后调用 `get_html` 方法获取 HTML 内容,最后使用 `BeautifulSoup` 将 HTML 解析成一个 `soup` 对象。
- `get_html` 方法:使用 `requests` 库发送 HTTP 请求,获取百度百科页面的 HTML 内容。
你可以在这个基础上添加其他方法,比如解析标题、解析正文等。
例如,下面是一个解析标题的方法:
```python
def parse_title(self):
title_tag = self.soup.find('h1', class_='title-article')
return title_tag.text.strip()
```
这个方法使用 `BeautifulSoup` 的 `find` 方法在 HTML 中查找第一个 `h1` 标签,然后获取它的文本内容,最后使用 `strip` 方法去除前后空格。
希望这个示例能帮到你!