环境安装:
pip install lxml bs4用到lxml库,如果没有安装过lxml库的时候,需要安装一下
代码使用流程:
核心思想:
可以将html文档可以转换成BeautifulSoup对象,调用该对象中的属性和方法进行
1.导包
from bs4 import BeautifulSoup
2.创建BeautifulSoup对象
a.本地
Beautiful(‘open(‘本地的html文件’)’,‘lxml’)
b.网络
Beautiful(‘网络请求到的页面数据’,‘lxml’)
属性和方法:
1.根据标签名查找
soup.a 只能找到第一个符合要求的标签
2.获取属性
soup.a.attrs 获取a所有的属性和属性值,返回一个字典
soup.a.attrs[‘href’] 获取href属性
soup.a[‘href’] 也可简写为这种形式
3.获取内容
soup.a.string /text()
soup.a.text //text()
soup.a.get_text() //text()
如果标签还是标签,那么string获取到的结果为none,而其他两个,可以获取文本内容
4.find:找到第一个符合要求的标签
soup.find(‘a’) 找到第一个符合要求的
soup.find(‘a’,title=‘xxx’)
soup.find(‘a’,alt=‘xxx’)
soup.find(‘a’,class=‘xxx’)
soup.find(‘a’,id=‘xxx’)
5.find_All:找到所有符合要求的标签
soup.find_All(‘a’)
soup.find_All([‘a’,‘b’]) 找到所有的a和b标签
soup.find_All(‘a’,limit=2) 限制前两个
6.根据选择器选择指定的内容
select:soup.select(’#feng’)
常见的选择器:
标签选择器(a)、类选择器(.)、id选择器(#)、层级选择器
层级选择器:
div .dudu #lala .name .xixi 下面好多级 div//img
div > p > a > .lala 只能是下面一级 div/img
select选择器返回永远是列表,需要通过下标提取指定对象