在使用python的爬虫脚本将一个网页的数据抓取回来的时候 , 数据都是非常复杂冗余的 。想要获取指定的数据那就必须对数据进行清洗处理操作 , 本文就会介绍三个数据处理库的使用方法和他们之间的差异 。
文章插图
一、BeautifulSoup库
这个库是专门用于对HTML格式的返回数据进行解析处理的处理 , 提供了对HTML的树状格式进行解析的方法和获取指定标签内的数据的方法 , 使用方法如下所示:
# 导入BeautifulSoup库的bs4方法from bs4 import BeautifulSoup# 实例化一个处理html格式数据的soup对象soup = BeautifulSoup(html,"html.parser")# 获取段落标签p中的文本内容info = soup.find(attrs={'p'}).text# 获取标题并输出data = soup.find(attrs={'id':title}).textprint(data)二、lxml库
lxml库的作用是对xml格式的数据进行解析 , 除此之外他还可以对具有节点结构的任意数据进行处理 , 也可以对html格式数据处理 , 示例如下:
from lxml import etree# 实例化解析对象selector = etree.HTML(url)# 使用xpath获取数据print(country.text)survey_select = selector.xpath('//*[@id="wzneirong"]/p')三、正则表达式
正则表达式可以用于任意格式数据的数据处理 , 它提供了几乎包含了所有数据进行匹配的方法 。方法之间还可以自行组合使用 , 扩展性非常好 , 使用方法如下:
【Python数据处理有哪些库?三个库的优劣对比】import re# 使用filadll方法匹配数据 , join方法拼接数据data = re.findall('(.*?)', page_content)info = ''.join(data)print(country[0],info)总的来说 , 正则表达式和lxml库的效率快但是使用比较复杂 , BeautifulSoup库的使用方法简单 , 但是运行的速度不快 。
以上就是python数据处理三个库的使用方法介绍和效率难度对比了 。
推荐阅读
- Python数据分析第三方库有哪些?Python库推荐
- Python如何使用requests爬取图片?使用方法看这里
- Python的openpyxl模块有什么用?openpyxl能做什么
- Python使用turtle有哪些基础知识?python画图基础介绍
- Pycharm怎么更改背景颜色?python编辑器外观设置
- Spyder和python的关系是什么?详细解析看这篇
- python中怎么将列表的数据清空?python列表清空方法
- Python如何对Excel数据清洗?使用方法看这里
- python单引号和双引号、三引号的区别是什么?详细解析看这篇
- python中怎么删除列表中的元素?python列表元素删除方法