Python 使用 BS4 进行数据解析
在 Python 爬取数据时,数据解析是必不可少的环节。常见的数据解析方式有三种:
- 正则表达式
- BS4 (BeautifulSoup)
- XPath
本文将重点介绍使用 BS4 进行数据解析的方法。
一、BS4 解析原理
- 首先需要实例化一个 BeautifulSoup 对象,并将待解析的页面源码数据加载到该对象中。
- 调用 BeautifulSoup 对象的相关方法时,先进行标签定位,然后提取对应的文本数据。
二、数据解析流程
解析前需明确数据来源:
- 本地文件:直接打开即可
- 网络资源:需要构造请求并获取响应数据
获取到解析文件后,按以下步骤操作:
- 进行标签定位
- 提取目标标签数据
三、标签定位
1. 环境安装
pip install lxml beautifulsoup4
注意:如果使用 macOS 可能会提示 SSL 报错
xml SSLCertVerificationError: certificate verify failed。解决办法是临时忽略 SSL 校验。
2. BeautifulSoup 对象的实例化 (本地/互联网)
本地:BeautifulSoup 读取本地文档中的数据进行后续解析。
from bs4 import BeautifulSoup
fp = open('./bs4.html', 'r')
soup = BeautifulSoup(fp, 'lxml')
互联网:BeautifulSoup 读取互联网上的请求数据并进行后续解析。
page_text = '...' # 获取到的网页内容
soup = BeautifulSoup(page_text, 'lxml')
3. bs4 实现标签定位
假设我们要定位的 html 文件如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>BS4 定位练习</title>
新闻网站
科技新闻
AI 正在改变世界
Python 非常适合爬虫
体育新闻
世界杯即将开赛
篮球比赛精彩纷呈
首页
新闻
关于我们
关于我们
联系我们

