首页 > 编程 > Python > 正文

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

2019-11-09 19:49:49
字体:
来源:转载
供稿:网友

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

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

1.正则表达式

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

import reurl = '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 lxmlpip install CSSselect

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

4.三种方式的比较

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

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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表