python中beautifulsoup的用法,python beautiful soup
大家好,本文主要讲Python中BeautifulSoup模块的详细讲解。有兴趣的同学过来看看,如果对你有帮助记得收藏。
00-1010前言安装库导入库解析文档示例提取数据示例CSS选择器示例小型项目摘要
目录
BeautifulSoup是一个Python模块,主要用于解析网页。它提供了一些强大的解释器来解析web页面,然后提供了一些函数来从页面中提取所需的数据。目前,它是Python爬虫中最常用的模块之一。
前言
使用前,需要安装库。这里建议安装bs4,也就是第四个版本,因为根据第三个版本的官方文档,更新已经停止。同时安装lxml解释器。
pip3安装bs4
pip3安装lxml
安装库
从bs4导入BeautifulSoup
导入库
这里以公文为例。我把常用的功能都列出来。在实际开发过程中使用的并不多。认识他们就好。
#摘自《爱丽丝梦游仙境》的一段话
html=
睡鼠的故事/标题/头像
身体
睡鼠的故事/b/p
从前有三个小姐妹;他们的名字是
a href= http://example.com/elsie class= sis ter id= link 1 !-埃尔希- /a,
a href= http://example.com/lacsie class= sis ter id= link 2 Lacie/a和
a href= http://example.com/title class= sis ter id= link 3 Tillite/a;
他们住在井底。/p
故事./p
#解析文档并创建一个BeautifulSoup对象。各种函数都是为这个对象开发的,这个函数会自动编码成Unicode。
soup=BeautifulSoup(html, lxml )
该函数有两个参数:
1.要解析的文本可以是字符串或本地文件。
2.解释器,有四种: lxml , lxml-XML , html.parser ,或者 html5lib ,可以解析大部分网页,lxml常用于解析 这里有一个坑,如果网页中没有规定编码格式,解释器就不能编码为Unicode,必须先声明一下编码格式,只需要到网页源码中查找编码格式然后做个声明就可以。一般在网页中查找字符集关键字。
#美化文档。有些网页不是用标准的方式写的。这个函数将完成标签,使它们看起来更标准。
print(soup . pretify())
解析文档示例
得到文本后,我们需要提取我们需要的数据。这里使用了三个选择器N。
bsp;
标签选择器(tag选择器)
标准选择器
CSS选择器
1、标签选择器(tag选择器)
# 直接用标签获取标题print("title: ", soup.title)
# 获取标题文本
print(soup.title.text)
# 获取p标签
print(soup.p)
# 获取head标签
print(soup.head)
# 获取a标签
print(soup.a)
输出:
标签中最重要的俩个属性:name、attributes
# 使用.name函数获取标签名print(标题标签的名字: , soup.title.name)
# tag的属性用法和字典基本一样,可以用属性名取属性,类似字典的键值对,也可以用.attrs取属性:
print(a标签中属性为"href"的值: , soup.a["href"])
# 会返回一个字典,需要何种属性可自行提取
print(a标签的所有属性: ,soup.a.attrs)
dict1 = soup.a.attrs
# 属性为class的值
print(属性为class的值: , dict1[class])
输出:
这里的子孙父兄节点, 郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。我感觉用起来忒不顺手,可能是我学的不太彻底