python爬虫实训总结报告_python爬虫简单总结(一)

本文总结了使用BeautifulSoup进行Python爬虫实践的经验,介绍了如何构建BeautifulSoup对象,解析HTML,以及如何通过标签名定位和遍历文档树。讲解了基本的节点关系,如兄弟、子父节点,并提及了解析器的选择,如内置的html.parser和速度更快的lxml。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

BeautifulSoup

如何使用BeautifulSoup

它由很多标签(Tag)组成,比如 html、head、title等等都是标签

一个标签对构成一个节点,比如 ...是一个根节点

节点之间存在某种关系,比如 h1 和 p 互为邻居,他们是相邻的兄弟(sibling)节点

h1 是 body 的直接子(children)节点,还是 html 的子孙(descendants)节点

body 是 p 的父(parent)节点,html 是 p 的祖辈(parents)节点

嵌套在标签之间的字符串是该节点下的一个特殊子节点,比如 “hello, world” 也是一个节点,只不过没名字。

构建一个 BeautifulSoup 对象需要两个参数,第一个参数是将要解析的 HTML 文本字符串,第二个参数告诉 BeautifulSoup 使用哪个解析器来解析 HTML。

解析器负责把 HTML 解析成相关的对象,而 BeautifulSoup 负责操作数据(增删改查)。“html.parser” 是 Python 内置的解析器,“lxml” 则是一个基于c语言开发的解析器,它的执行速度更快,不过它需要额外安装

通过 BeautifulSoup 对象可以定位到 HTML 中的任何一个标签节点。

from bs4 import BeautifulSoup

text = """

hello, world

BeautifulSoup

如何使用BeautifulSoup

第二个p标签

python

"""

soup = BeautifulSoup(text, "html.parser")

# title 标签

>>> soup.title

hello, world

# p 标签

>>> soup.p

\u5982\u4f55\u4f7f\u7528BeautifulSoup

# p 标签的内容

>>> soup.p.string

u'\u5982\u4f55\u4f7f\u7528BeautifulSoup'

遍历文档树,顾名思义,就是是从根节点 html 标签开始遍历,直到找到目标元素为止,遍历的一个缺陷是,如果你要找的内容在文档的末尾,那么它要遍历整个文档才能找到它,速度上就慢了。因此还需要配合第二种方法。

通过遍历文档树的方式获取标签节点可以直接通过 .标签名的方式获取,例如:

获取 body 标签:

>>> soup.body

\n

BeautifulSoup

\n

\u5982\u4f55\u4f7f\u7528BeautifulSoup

\n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值