Python爬虫中html数据抽取方法对比分析

本文对比分析Python中用于HTML数据抽取的正则、XPath、BeautifulSoup和SimplifiedDoc。虽然正则处理速度快,但使用难度较大。lxml的XPath库表现优秀,而SimplifiedDoc凭借其方便的getElement方法和不错的性能,也是一个值得尝试的选择。
摘要由CSDN通过智能技术生成

Python中常用的html数据抽取方法有正则、XPath和BeautifulSoup这三种。其中,最常用的XPath库是lxml。今天再介绍一个库SimplifiedDoc,一起比较一下他们的优劣。
1、安装

名称 安装方法 包大小 说明
正则 不需安装(内置)
lxml pip install lxml 4.5MB 依赖c语言库
BeautifulSoup pip install beautifulsoup4 107kB 如果不使用第三方库,则不需要别的安装
SimplifiedDoc pip install simplified-scrapy 43kB 没有第三方依赖

2、Python版本支持
这几种方法都同时支持Python2和Python3。

3、使用方法
对正则和XPath的使用方法,这里就不重复了,只简单对比下BeautifulSoup和SimplifiedDoc。下面的代码展示了两者实例化及提取数据的方法。

html = '''
<html>
  <head>
    <title>Example Domain</title>
  </head>
  <body>
    <div id='test'>
      test text
    </div>
  </body>
</html>
'''
# 例子:http://www.jsphp.net/python/show-24-214-1.html
from bs4 import BeautifulSoup
soup = BeautifulSoup(html,features='html.parser')
soup = BeautifulSoup(html,features='lxml')
title = soup.title
# 取所有
divs = soup.findAll(id='test')
divs = soup.select('div#test')
# 取第一个
div = soup.find(id='test'
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值