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

Python爬虫09_Requests用bs4进行数据解析

一、步骤解读

bs4进行数据解析
数据解析的原理:
1.标签定位
2.提取标签、标签属性中存储的数据值
bs4数据解析的原理:
1.实例化一个Beautifulsoup对象,并且将页面源码数据加载到该对象中
2.通过调用Beautifulsoup对象中相关的属性或者方法进行标签定位和数据提取
环境安装:
pip install bs4
pip install lxml
如何实例化BeautifulSoup对象:
from bs4 import Beautifulsoup
对象的实例化:
1.将本地的html文档中的数据加载到该对象中
fp = open(‘./test.html’,‘r’,encoding=‘utf-8’)
soup = BeautifulSoup(fp,‘lxml’)
2.将互联网上获取的页面源码加载到该对象中
page_text = response.text
soup = BeautifulSoup(page_text,‘lxml’)
提供用于数据解析的方法和属性:
soup.tagName:返回的是文档中第一次出现的tagName对应的标签
soup.find():
find(‘tagName’):等同于soup.div
属性定位
soup.find(‘div’,class_/id/attr=‘song’)
soup.find_all(‘tabName’):返回符合要求的所有标签(列表)
select:
select(‘某种选择器(id,class,标签…选择器)’),返回的是一个列表。
层级选择器:
soup.select(‘.tang > ul > li > a’)

二、源代码示例

from bs4 import BeautifulSoup
fp = open('E:\\Program\\Code\\Html\\惠泉酒坊\\index.html','r',encoding='utf-8')
soup = BeautifulSoup(fp,'lxml')
print(soup.a)
print('---------------------------------------------------------------------------------------------')
print(soup.div)
print('---------------------------------------------------------------------------------------------')
print(soup.find('div'))
print('---------------------------------------------------------------------------------------------')
print(soup.find('div',class_='c1'))
print('---------------------------------------------------------------------------------------------')
print(soup.select('.tu2'))
print('---------------------------------------------------------------------------------------------')
print(soup.select('.ai2 > ul')[0])
http://www.lryc.cn/news/610765.html

相关文章:

  • selenium自动化收集资料
  • linux服务器上word转pdf后乱码问题
  • In-memory不要全加载怎么做?
  • 基于LDA主题的网络舆情与情感分析——以云南某景区话题为例
  • 本机部署K8S集群
  • 基于k8s环境下的pulsar常用命令(上)
  • mq_open系统调用及示例
  • ubutnu20.04更新源报错:E:...签名不再生效
  • C语言学习笔记——动态内存分配
  • 备忘录记事本 任务清单 html
  • 手动开发一个TCP服务器调试工具(一):基础知识与核心类接口
  • HTML 如何转 Markdown
  • 【qt5_study】2.使用Qt Designer构造UI界面(信号与槽)
  • 16核32G硬件服务器租用需要多少钱
  • 工业级 CAN 与以太网桥梁:串口服务器CAN通讯转换器深度解析(下)
  • 前端实用工具方法 —— 持续更新中...
  • GPT-5的诞生之痛:AI帝国的现实危机
  • 前端权限设计
  • 云手机的主要功能都包含哪些?
  • MoonBit 月兔 - 云和边缘计算 AI云原生编程语言及开发平台
  • LangChain入门:代理、链、索引
  • WIN QT libsndfile库编译及使用
  • 【教程】Unity AssetBundle 资源管理方法
  • STM32F407VET6学习笔记10:移植smallmodbus
  • 【LeetCode 热题 100】347. 前 K 个高频元素——(解法一)排序截取
  • Redis类型之String
  • 【npm 解决】---- TypeError: crypto.hash is not a function
  • GPS信号捕获尝试
  • 【机器学习深度学习】模型剪枝
  • Python包安全工程实践:构建安全可靠的Python生态系统