当前位置:网站首页>数据解析之bs4学习
数据解析之bs4学习
2022-08-09 08:06:00 【星星本来就很美】
bs4 数据解析
- 原理:
1.标签定位
2.提取标签、标签属性中存储的数据值
bs4使用:
- 实例化一个BeautifulSoup对象,并且将源码数据加载到该对象中
- 通过调用BeautifulSoup对象中相关的属性或者方法进行标签定位和数据提取
实例化BeautifulSoup对象:
- from bs4 import BeautifulSoup
-对象的实例化:
1.将本地的html文档中的数据加载到该对象中
fp = open('./test.html','r',encoding='utf-8')
BeautifulSoup(fp,'lxml')
2.将互联网上获取的页面源码加载到该对象中
page_text = response.text
soup = BeautifulSoup(page_text,'html')
- 提供的用于数据解析的方法和属性:
soup.tagName:返回的是文档中第一次出现的tagName对应的标签
soup.find():
- find('tagName'):等同于soup.div
属性定位:
- soup.find('div',class_/id/attr='song' )
-soup.find_all('tagName'):返回符合要求的所有标签(列表)
select:
select('某种选择器(id,class,标签.. .选择器)'),返回的是一个列表。
层级选择器:
soup.select('.tang > ul > li > a'): > 表示的是一个层级
soup.select('.tang > ul a'): 空格表示的多个层级
获取标签之间的文本数据:
- soup.a.text/string/get_text()
- text/get_text(): 可以获取某一个标签中所有的文本内容
- string: 只可以获取该标签下面直系的文本内容
获取标签中属性值:
- soup.a['href']
边栏推荐
猜你喜欢
Win10电脑的WLAN消失的故事
.net(一)WebService创建
一文搞懂 条件编译和预处理指令 #define、#undef、#ifdef、#ifndef、#if、#elif、#else、#endif、defined 详解
VLAN的原理及配置
Shell编程之正则表达式
系统安全及应用
EMQ X message server learning record - prepare for the subsequent completion
Notes on OpenHarmony Open Source Meeting (Nanjing Station)
不同风格的Flask-restful
静态路由的原理与配置
随机推荐
网络层协议介绍
The Martian - Simple Math Problems
Shell编程之正则表达式
安全的Md5加密:两次加密(加盐)
正则之re模块
引导过程与服务控制
Non-decreasing Array
P1064 金明的预算方案
Collection 接口 & List 接口
磁盘管理与挂载
【redis】使用redis实现简单的分布式锁,秒杀并发场景可用
The MySQL database
NAT地址转换的原理与配置
The story of the disappearing WLAN of Windows 10 computers
.net(二) 配置数据库
文献检索作业代码
动态设置img标签图片失效问题
可能导致Loadrunner检查点中savecount为0的分析
Talking about Flask_script
Euclid and the game