数据解析
何为数据解析
- 概念:可以将爬取到的数据中指定的数据进行单独提取。
- 数据解析通用原理:
- 在一张页面中,想要解析的数据是存在于相关的html的标签中。
- 可以先将指定的标签进行定位,然后可以将该标签中展示的数据进行提取。
- 爬虫编码流程:
- 指定url
- 发起请求
- 获取页面源码数据
- 数据解析
- 持久化存储
- python中可以实现数据解析的技术:
- 正则表达式(复杂度高)
- bs4(python独有,学习成本较低)
- xpath(通用性最强,最重要)
bs4
环境安装:
- pip install bs4
- pip install lxml
bs4数据解析的流程:
- 创建一个BeautifulSoup对象,把被解析的数据加载到该对象中。
- 调用BeautifulSoup对象相关的属性或者方法进行标签定位和数据提取
from bs4 import BeautifulSoup
f = open('test.html', 'r', encoding='utf-8')
soup = BeautifulSoup(f, 'lxml')
tag = soup.标签名
txt = tag.string
标签定位
- soup.tagName : 只可以定位到第一次出现的tagName标签
- soup.find(tagName, attrName=‘value’) : 属性定位,只可以定位到满足要求的第一个标签
- soup.find_all(tagName, attrName=‘value’) :定位到满足要求的所有标签
- soup.select(选择器) :选择器定位
提取内容
- tag.string :提取出标签下的直系文本
- tag.text :提取出标签下所有的文本内容
- tag[‘attrName’] :将tag标签下attrName的属性值取出