1、安装BeautifulSoup库
在终端输入:pip install bs4即可完成安装
另外在bs4使用时候需要一个第三方库,所以也需要把这个库也安装一下,使用如下命令:pip install lxml
2、BeautifulSoup库的基本使用:
#导入BeautifulSoupfrom bs4 import BeautifulSoup
使用方式:可以将一个html文档,转化为指定的对象,然后通过对象的方法或者属性去查找指定的内容
(1)转化本地文件:
soup = BeautifulSoup(open('本地文件'), 'lxml')
(2)转化网络文件:
soup = BeautifulSoup('字符串类型或者字节类型', 'lxml')
(1)根据标签名查找
soup.a 只能找到第一个符合要求的标签
(2)获取属性
soup.a.attrs 获取所有的属性和值,返回一个字典
soup.a.attrs['href'] 获取href属性
soup.a['href'] 也可简写为这种形式
(3)获取内容
soup.a.string
soup.a.text
soup.a.get_text()
如果标签还有标签,那么string获取到的结果为None,而其它两个,可以获取文本内容
(4)find
soup.find('a') 找到第一个符号要求的a
soup.find('a', title="xxx")
soup.find('a', alt="xxx")
soup.find('a', class_="xxx")
soup.find('a', id="xxx")
find方法不仅soup可以调用,普通的div对象也能调用,会去指定的div里面去查找符合要求的节点
find找到的都是第一个符合要求的标签
(5)find_all
soup.find_all('a')
soup.find_all(['a', 'b'])
soup.find_all('a', limit=2) 限制前两个
(6)select
根据选择器选择指定的内容
常见的选择器:标签选择器、类选择器、id选择器、组合选择器、层级选择器、伪类选择器、属性选择器
a
.dudu
#lala
a, .dudu, #lala, .meme
div .dudu #lala .meme .xixi 下面好多级
div > p > a > .lala 只能是下面一级
input[name='lala']
select选择器返回永远是列表,需要通过下标提取指定的对象,然后获取属性和节点
该方法也可以通过普通对象调用,找到都是这个对象下面符合要求的所有节点