【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获取标签文本内容
相关推荐
全栈练习生几秒前
AI Agent 沙箱
python·ai
SEO_juper1 小时前
用 Python 写一个 GEO 可见性检查脚本:你的网站现在能被 AI 引用吗
开发语言·人工智能·爬虫·python·seo·外贸独立站
用户8356290780512 小时前
使用 Python 对 Excel 工作表进行排序
后端·python
for_ever_love__3 小时前
MySQL 全文索引实战:FULLTEXT、ngram 中文分词与 MATCH AGAINST 到底该怎么用
java·python·mysql·全文检索·分词·索引·ngram
用户8356290780513 小时前
使用 Python 合并 PowerPoint 演示文稿
后端·python
weixin_461769403 小时前
VS Code 中创建 Jupyter 文件(.ipynb)
ide·python·jupyter
2601_966949653 小时前
多市场量化策略的数据接口应该如何设计:从数据层架构到策略接入
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
全栈弄潮儿3 小时前
Python实战第1期:Python环境搭建与第一个程序
python
心易行者3 小时前
Agent应用+API端点商业化进阶实战:从单体智能体到可付费调用的API全流程
运维·服务器·人工智能·python·apache
weixin199701080164 小时前
《1688图片空间API踩坑:img.upload 与 album.* 的防盗链与CDN缓存问题》(附Python源码)
开发语言·python·缓存