数据分析和架构设计

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

2018-07-31  本文已影响14人  阿休

1.正则表达式

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

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.三种方式的比较

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

上一篇 下一篇

猜你喜欢

热点阅读