【Python】爬虫html提取内容基础,bs4

前言

BeautifulSoup也就是bs4,里面功能其实有很多,不过对于爬虫而言主要掌握一下几块就可以了

  1. 怎么找标签?
  2. 找到标签后怎么获取属性,怎么获取文本内容
  3. 如何通过找到的标签继续获取子标签

安装

复制代码
pip install bs4

案例

对于找标签来说,bs4提供了很多方法,不过掌握find()find_all()一般就能满足大部分爬虫场景了

固定语法page.find("标签名", attrs={"属性": "值"})

python 复制代码
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)

总结

  1. bs4可以通过find()find_all()查找标签
  2. 查找到的标签可以继续使用find()find_all()查找下级标签
  3. 标签通过get()方法获取标签属性,通过.text获取标签文本内容
相关推荐
Oueii25 分钟前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
2401_831824961 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python
njidf1 小时前
Python日志记录(Logging)最佳实践
jvm·数据库·python
@我漫长的孤独流浪1 小时前
Python编程核心知识点速览
开发语言·数据库·python
宇擎智脑科技1 小时前
A2A Python SDK 源码架构解读:一个请求是如何被处理的
人工智能·python·架构·a2a
2401_851272991 小时前
实战:用Python分析某电商销售数据
jvm·数据库·python
vx_biyesheji00011 小时前
Python 全国城市租房洞察系统 Django框架 Requests爬虫 可视化 房子 房源 大数据 大模型 计算机毕业设计源码(建议收藏)✅
爬虫·python·机器学习·django·flask·课程设计·旅游
code 小楊2 小时前
yrb 1.5.0 正式发布:Python 极简国内下载加速与全景可视化终端体验!
开发语言·python
2401_857918292 小时前
用Python和Twilio构建短信通知系统
jvm·数据库·python
樹JUMP2 小时前
使用Docker容器化你的Python应用
jvm·数据库·python