Python第七弹:爬虫篇:BeautifulSoup库

一、什么是BeautifulSoup

BeautifulSoup,它是一个用于解析 HTML 和 XML 文档的 Python 库,能够从网页中提取数据,常用于网页抓取和数据挖掘。

  • 非Python标准模块,需要手动安装
  • 安装方式 pip/pip3 install beautifulsoup4
复制代码
安装 pip3 install lxml  # 推荐使用 lxml 作为解析器(速度更快)

如果你没有 lxml,可以使用 Python 内置的 html.parser 作为解析器。

1.1 文档树结构

文档树结构。将字符串结构转换为文档树结构。

BeautifulSoup可以将字符串转换为文档树结构,方便解析。

1.2 BeautifulSoup装载HTML

BeautifulSoup容错:BeautifulSoup功能非常强大,它在装载过程中,如果发现HTML文档中的元素有缺失的情况下,它会尽可能的对文档进行修复,是的最后的文档树是一棵完整的文档树。

这一点十分重要。因为我们面临的大多数网页,或多或少有元素是缺失的,BeautifulSoup都能够正确装载它们。

小结:BeautifulSoup虽然功能强大能够修复一些缺失的HTML元素,但是它还没有智能到完全修复所有HTML文档错误的程度。

python 复制代码
from bs4 import BeautifulSoup
import requests

# 使用 requests 获取网页内容
url = 'https://cn.bing.com/' # 抓取bing搜索引擎的网页内容
response = requests.get(url)

# 使用 BeautifulSoup 解析网页
soup = BeautifulSoup(response.text, 'lxml')  # 使用 lxml 解析器
# 解析网页内容 html.parser 解析器
# soup = BeautifulSoup(response.text, 'html.parser')
相关推荐
Patrick在香港17 分钟前
一个斜杠,把毫秒变成十几秒
android·数据库·python·性能优化·正则表达式·回溯·redos
2601_9679801125 分钟前
Python 初学者必备的常用内置函数
python·编程语言·内置函数·初学者·常用函数
OnlineProxy31 分钟前
移动应用数据爬取:通过模拟器与流量嗅探对 API 进行逆向工程
爬虫·python·httpx
染指11101 小时前
162.Agent-LangGraph-检查点的作用
人工智能·python·langchain·agents
我命由我123451 小时前
访客系统形式(有用户概念、无用户概念)
java·开发语言·前端·javascript·python·产品运营·产品经理
xixingzhe21 小时前
图表中同比与环比的区别:看趋势还是看变化?
开发语言·python
forest_092 小时前
当 AI 搜索开始「自我进化」,谁来进化它的核实?——「已核实」结论复核器:3 条结论挖出 2 个洞(附可运行代码)
人工智能·python·机器学习·prompt·agi
小小张说故事2 小时前
Python 的 str 为什么设计成不可变?拆开字符串驻留、字符串池,以及 += 拼接到底慢在哪
后端·python
ljt27249606612 小时前
Python笔记(十一)--Numpy(一)
笔记·python·numpy
时早玖沐2 小时前
KOOK「找不到语音频道」:同一个错误假设,我犯了三次
python·开源·ai编程