python爬虫数据提取之bs4的使用方法
2024-09-26 12:04:59
Beautiful Soup的使用
1.下载
pip install bs4
pip install lxml # 解析器 官方推荐
2.引用方法
from bs4 import BeautifulSoup # 引入我们的主题
3.解析原理
- 实例化一个BeautifulSoup的对象,并且将即将被解析的页面源码数据加载到该对象中
- 调用BeautifulSoup对象中的相关属性和方法进行标签定位和数据提取
4.使用方法
将一段文档传入BeautifulSoup 的构造方法,就能得到一个文档的对象, 可以传入一段字符串或一个文件句柄
soup = BeautifulSoup(open("index.html"),'lxml') # 文件句柄
soup = BeautifulSoup("<html>data</html>",'lxml') # 网页源数据
tag
纯标签定位
soup.tagName:定位到第一个TagName标签,返回的是单数
属性定位
属性定位:soup.find('tagName',attrName='value'),返回也是单数(第一个元素)
find_all:和find用法一致,但是返回值是列表
注:attrname中查询class字段为class_,id为id
selector
返回值为列表
选择器定位:select('选择器')
返回值类型为bs4.element.ResultSet
标签,类,id,层级(>:一个层级,空格:多个层级)
提取数据
- 取文本
- tag.string:标签中直系的文本内容
- tag.text:标签中所有的文本内容
- 取属性
- tag['attrName']
- 取文本
5.注意事项
只有bs4.element.Tag对象才拥有上述的方法和属性,select返回的对象集合是不具有该属性和方法,通过索引拿到对应的Tag对象才能进行数据提取操作
最新文章
- C# 类型转换
- ACM 会场安排问题
- 一步一步学习Swift之(一):关于swift与开发环境配置
- Html5新标签及用法
- AndroidStudio怎么将开源项目发布到jcenter
- easyui-combobox小Demo
- CodeForces 543A - Writing Code DP 完全背包
- 使用JPA和Hibernate进行批量处理的最佳方式
- HtmlWebpackPlugin实现资源的自定义插入
- 【批处理学习笔记】第二十九课:ASCII码
- Java数据结构和算法(十二)——2-3-4树
- SUSE12Sp3安装配置.net core 生产环境-总汇(持续更新中...)
- AD域 组策略部署U软件
- Zabbix报警执行远程命令
- day07--字符编码、文件处理
- Js And PHP Modify Cookie
- Redis 实现接口访问频率限制
- UVALive-3399-Sum of Consecutive Prime Numbers(素数筛,暴力)
- 【转载】jquery实现勾选复选框触发事件给input赋值+回显复选框
- PIE currently adds full or partial support to IE 6 through 8 for the following CSS3 features
热门文章
- Python编程入门(第3版) PDF|百度网盘下载内附提取码
- 2020牛客暑期多校训练营 第二场 K Keyboard Free 积分 期望 数学
- 问题记录,php webserver端跨子域setcookie后浏览器不存
- 快速构建一个springboot项目(一)
- Jenkins总结1-部署jenkins
- 7月13日考试 题解(DFS序+期望+线段树优化建图)
- 痞子衡嵌入式:恩智浦i.MX RT1xxx系列MCU启动那些事(13.A)- LPSPI NOR启动时间(RT1170)
- Python 写一个俄罗斯方块游戏
- 会话机制,Cookie和Session详解
- C#LeetCode刷题之#643-子数组最大平均数 I( Maximum Average Subarray I)