bs4

bs4:BeautifulSoup
作用:用来解析网页,提取指定数据的。提供的接口非常简单。使用起来人性化。所以用的比较多,但是bs4只能解析html格式的数据

  • 安装
pip install bs4

bs4简单使用

整体使用步骤:
bs4里面有一个类,BeautifulSoup,然后通过这个类将网页html格式字符串生成一个对象,然后通过对象的方法来进行查找指定元素

(1)将本地html文件转化为对象
soup = BeautifulSoup(open('soup.html', encoding='utf8'), 'lxml')

lxml :
是一个文件解析库,通过它的解析生成对象,是一个第三方库,需要安装,

安装
pip install lxml

html.parser :
是python自带的一个文件解析库

eg:
soup = BeautifulSoup(open('soup.html', encoding='utf8'), 'lxml')
根据标签名查找
soup.a 只能查找得到第一个符合要求的节点,是一个对象,bs4自己封装类的对象
获取属性
soup.a.attrs 获取得到所有属性和值,是一个字典
soup.a.attrs['href'] 获取指定的属性值
soup.a['href'] 简写形式
获取文本
soup.a.string
soup.a.text
soup.a.get_text()

[注]如果标签里面还有标签,那么string获取就是空,而后两个获取的是纯文本内容

find_all方法
返回的是一个列表,列表里面都是节点对象
soup.find_all('a') 找到所有a
soup.find_all('a', limit=2) 提取符合要求的前两个a
soup.find_all(['a', 'li']) 查找得到所有的a和li
soup.find_all('a', class_='xxx')查找得到所有class是xxx的a
soup.find_all('li', class_=re.compile(r'^xiao'))
查找所有的class以xiao开头的li标签

作者:垃圾桶边的狗
链接:https://www.jianshu.com/p/26a3632796dd
来源:
著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

你可能感兴趣的:(bs4)