Python 爬虫之 Beautiful Soup4 提取网页中的数据
Lasted 2020-11-26 17:33:24
Beautiful Soup 是一个可以从 HTML 或 XML 文件中提取数据的 Python 库。能够通过你喜欢的转换器实现文档导航、查找和修改文档。能够修复含有未闭合标签的错误文档(此种文档常被称为 tag soup)。
安装Beautiful Soup4
Beautiful Soup4 当前最新的版本为 Beautiful Soup 4.9.3 (2020-10-03 15:41)。可以通过如下 pip 命令安装:
pip install beautifulsoup4
Beautiful Soup4 支持 lxml 和 html5lib 解析器,建议安装 lxml。
pip install lxml
安装特定版本
pip install lxml==3.4.2
Beautiful Soup4 支持 Python 2 (2.7+)和 Python 3。2020年12月31日停止支持 Python 2 版本。
已过期
Beautiful Soup4 于2020年12月31日停止对 Python 2 版本的支持。
解析网页
下面介绍解析网页数据和几个简单获取数据的方法。
# coding=utf-8
from urllib.request import urlopen
from bs4 import BeautifulSoup
with urlopen('https://docsxyz.com/wiki/news/rainbow-six-siege-next-gen-update-1126') as f:
content = f.read().decode('utf-8')
soup = BeautifulSoup(content, "lxml")
# 获取网页标题
title = soup.title.string
# PS5 和 XSX 玩家看过来,《彩虹六号:围攻行动》终于出 4K 120 fps 模式了! - Docsxyz
# 获取第一个 p 元素
p = soup.p
# <p class="mt-title-post">12月1日可以免费升级</p>
# 获取页面中所有 p 元素
ps = soup.find_all('p')
# [<p>.....</p>, <p>.....</p>, <p>.....</p>]
# 格式化输出 HTML
soup.prettify()
相关链接