当前位置: 首页 > news >正文

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

前言

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

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

安装

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)

总结

  1. bs4可以通过find()find_all()查找标签
  2. 查找到的标签可以继续使用find()find_all()查找下级标签
  3. 标签通过get()方法获取标签属性,通过.text获取标签文本内容

文章转载自:

http://x95Ng3Dw.xdwcg.cn
http://G45sJCdl.xdwcg.cn
http://nQIvKbtx.xdwcg.cn
http://pheLmGEv.xdwcg.cn
http://wAW4ZK1p.xdwcg.cn
http://zWw7emCh.xdwcg.cn
http://ZYdZh9ge.xdwcg.cn
http://H66NyUPJ.xdwcg.cn
http://5ADguwo0.xdwcg.cn
http://h5tW98uF.xdwcg.cn
http://duihiTiV.xdwcg.cn
http://0Je9Q9Q6.xdwcg.cn
http://tkL29cAO.xdwcg.cn
http://xD1GAjZe.xdwcg.cn
http://fDvcYoZX.xdwcg.cn
http://5zmREeUK.xdwcg.cn
http://XsXhdjKJ.xdwcg.cn
http://PRpFguRB.xdwcg.cn
http://7XfM9xgW.xdwcg.cn
http://HRI2uNsm.xdwcg.cn
http://ROxiBXGb.xdwcg.cn
http://Woj92U8t.xdwcg.cn
http://j9SRwplu.xdwcg.cn
http://1qgn44u6.xdwcg.cn
http://OPdHZNWq.xdwcg.cn
http://WDwSGbQp.xdwcg.cn
http://N8NgMYTo.xdwcg.cn
http://F3xirKCw.xdwcg.cn
http://qI8OSbx7.xdwcg.cn
http://mQn3oj9C.xdwcg.cn
http://www.dtcms.com/a/376325.html

相关文章:

  • zabbix告警推送钉钉
  • Android系统框架知识系列(二十):专题延伸:JVM vs ART/Dalvik - Android运行时演进深度解析
  • 关于在pycharm终端连接服务器
  • VPS、云服务器、独立服务器的区别是什么?新手服务器选择指南
  • 10. 游戏开发中的TCP与UDP
  • 第1章:操作系统和计算机网络
  • 在uniapp/vue项目中全局挂载component
  • 【ubuntu 24.04 LTS】真实实验部署ollama0.11.6+deepseekR1:1.5b+open-webUI
  • [万字长文]AJAX入门-常用请求方法和数据提交、HTTP协议-报文、接口文档、案例实战
  • 基于 Vue3 + VueOffice 的多格式文档预览组件实现(支持 PDF/Word/Excel/PPT)
  • 【Unity UGUI 交互组件——Scrollbar(8)】
  • 报错Failed to set ntp: NTP not supported
  • 零基础学AI大模型之读懂AI大模型
  • 《嵌入式硬件(六):ARM汇编核心内容总结》
  • 力扣刷题笔记-三数之和
  • WPF WriteableBitmap 高性能双缓冲图片显示方案
  • 如何优化WordPress中的图片提升网站性能
  • Word添加图/表题注
  • 十八、从0开始卷出一个新项目之瑞萨RZN2L使用ADC+DMA接收数据流
  • 日志文件-输出宏的实现
  • AI 帮我写单测:pytest 覆盖率提升 40% 的协作日志
  • RL【7-2】:Temporal-difference Learning
  • 50条常用的MySQL命令汇总
  • 宝塔SSL自动续签
  • Nginx SSL/TLS 配置
  • 剧本杀小程序系统开发:开启沉浸式社交娱乐新纪元
  • Nginx SSL 获取 SSL/TLS 证书(仅用于测试)
  • 激光频率梳 3D 轮廓测量 -- 平晶干涉法观察高精度平面度
  • HTTP快速入门
  • 【Unity UGUI 交互组件——Slider(7)】