首先,我们需要导入必要的库,比如 beautifulsoup4
和 requests
:
from bs4 import BeautifulSoup
import requests
然后,我们可以定义一个类来解析百度百科的 HTML:
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 内容。
你可以在这个基础上添加其他方法,比如解析标题、解析正文等。
例如,下面是一个解析标题的方法:
def parse_title(self):
title_tag = self.soup.find('h1', class_='title-article')
return title_tag.text.strip()
这个方法使用 BeautifulSoup
的 find
方法在 HTML 中查找第一个 h1
标签,然后获取它的文本内容,最后使用 strip
方法去除前后空格。
希望这个示例能帮到你!