python写爬虫2-数据抓取的三种方式

python写爬虫2-数据抓取的三种方式

常用抽取网页数据的方式有三种:正则表达式、Beautiful Soup、lxml

1.正则表达式

正则表达式有个很大的缺点是难以构造、可读性差、不易适用未来网页的变化。写一段伪代码:

import re
url = 'http://xxxx.com/sdffs'
html = download(url)
re.findall('正则表达式', html)

2.Beautiful Soup

这是一个非常流行的python模块。安装命令如下:

pip  install beautifulsoup4

使用此模块的第一步是将已下载的html内容解析为soup文档。因许多html网页格式不规范,Beautiful Soup可对其进行确定,将其调整为规范的html文件。
这里写图片描述

3.Lxml

Lxml是基于libxml2这一XML解析库的python封装。该模块使用c语言编写,解析速度比Beautiful Soup更快。
安装命令如下:

pip install lxml
pip install cssselect

如下代码,从html中获取class=country的ul标签下,li标签id=a的文本,获取li标签class=b的文本
这里写图片描述

4.三种方式的比较

抓取方法性能使用难度安装难度
正则表达式困难简单(内置模块)
Beautiful Soup简单简单(纯python)
Lxml简单相对困难

通常,lxml是抓取数据最好的选择,因为该方法既快速又健壮,而正则和Beautiful Soup只在某些特定场景下用。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值