python爬虫解析库BeautifulSoup速查
程序员文章站
2022-05-29 10:18:01
...
为了方便使用,将BeautifulSoup库常用的接口写到一起。
总结内容来源:《python3网络爬虫开发实战》崔庆才
导入与解析
from bs4 import Beat
soup = BeautifulSoup(response.text,'lxml')
节点选择器
提取属性
获取到的是第一个标签
-
soup.title.string
:获取title标签的文本内容 -
soup.title.name
:获取节点名称“title” -
soup.p.attrs
:获取节点属性字典 -
soup.p.attrs['class']
或者soup.p['class']
:获取节点属性
关联选择
子孙
-
soup.p.contents
:获取直接子节点列表 -
soup.p.children
:获取直接子节点生成器 -
soup.p.descendants
:获取所有子孙节点生成器
祖先
-
soup.p.parent
:获取直接父节点 -
soup.p.parents
:获取所有祖先节点生成器
兄弟
-
soup.a.next_sibling
:获取下一个兄弟节点 -
soup.a.previous_sibling
:获取上一个兄弟节点 -
soup.a.next_siblings
:获取后面所有兄弟节点列表 -
soup.a.previous_siblings
:获取前面所有兄弟节点列表
方法选择器
find_all()
find_all(self, name=None, attrs={}, recursive=True, text=None,limit=None, **kwargs)
用法:
-
soup.find_all(name='ul')
:获取所有ul节点组成的列表 -
soup.find_all(attrs={'id':'list'})
:获取id为list的节点 - 常用参数如id和class可以直接传入,如:
soup.find_all(id = 'list')
或soup.find_all(class_='element')
-
soup.find_all(text=re.compile('link'))
可以匹配文本,也可以用正则表达式对象
find()
返回第一个匹配的元素,和find_all用法差不多
其他
-
find_parents()
,find_parent()
-
find_next_siblings()
,find_next_sibling()
-
find_previous_siblings()
,find_previous_sibling()
-
find_all_next()
,find_next()
返回节点后符合条件的节点 -
find_all_previous()
,find_previous()
CSS选择器
soup.select('CSS选择器')
:返回列表
上一篇: 高精度计算(一):大整数加法
下一篇: QT初始界面最大化
推荐阅读
-
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
-
Python爬虫实战用 BeautifulSoup 爬取电影网站信息
-
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
-
python3第三方爬虫库BeautifulSoup4安装教程
-
python解析html开发库pyquery使用方法
-
Python网页解析利器BeautifulSoup安装使用介绍
-
python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)
-
python爬虫的数据库连接问题【推荐】
-
python利用beautifulSoup实现爬虫
-
python爬虫(中国大学排名定向爬虫--解析)