【Python】爬虫html提取内容基础,bs4
前言
BeautifulSoup也就是bs4,里面功能其实有很多,不过对于爬虫而言主要掌握一下几块就可以了
- 怎么找标签?
- 找到标签后怎么获取属性,怎么获取文本内容
- 如何通过找到的标签继续获取子标签
安装
pip install bs4
案例
对于找标签来说,bs4提供了很多方法,不过掌握find()
和find_all()
一般就能满足大部分爬虫场景了
固定语法page.find("标签名", attrs={"属性": "值"})
from bs4 import BeautifulSoup
html = """
<html>
<body><ul><li><a href="link1.html">斗罗大陆</a></li><li id="abc"><a href="link1.html">斗破苍穹</a></li><li><a href="link1.html">仙逆</a></li><li><a href="link1.html">凡人修仙传</a></li></ul>
</body>
</html>
"""
# 1.初始化对象
page = BeautifulSoup(html, 'html.parser')
# 2.固定语法-查找某个元素
li = page.find("li", attrs={"id": "abc"})
# 3.每个被找到的元素,都可以继续被find()和find_all()
# 查找li标签下的a标签
a = li.find("a")
# 4.获取标签属性
a_href = a.get('href')
# 5.获取文本内容
a_text = a.text# find_all()使用
li_list = page.find_all("li")
for li in li_list:print(li.text)
总结
- bs4可以通过
find()
和find_all()
查找标签 - 查找到的标签可以继续使用
find()
和find_all()
查找下级标签 - 标签通过
get()
方法获取标签属性,通过.text
获取标签文本内容