国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

python寫(xiě)爬蟲(chóng)2-數(shù)據(jù)抓取的三種方式

2019-11-09 19:44:28
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

python寫(xiě)爬蟲(chóng)2-數(shù)據(jù)抓取的三種方式

常用抽取網(wǎng)頁(yè)數(shù)據(jù)的方式有三種:正則表達(dá)式、Beautiful Soup、lxml

1.正則表達(dá)式

正則表達(dá)式有個(gè)很大的缺點(diǎn)是難以構(gòu)造、可讀性差、不易適用未來(lái)網(wǎng)頁(yè)的變化。寫(xiě)一段偽代碼:

import reurl = 'http://xxxx.com/sdffs'html = download(url)re.findall('正則表達(dá)式', html)

2.Beautiful Soup

這是一個(gè)非常流行的python模塊。安裝命令如下:

pip install beautifulsoup4

使用此模塊的第一步是將已下載的html內(nèi)容解析為soup文檔。因許多html網(wǎng)頁(yè)格式不規(guī)范,Beautiful Soup可對(duì)其進(jìn)行確定,將其調(diào)整為規(guī)范的html文件。 這里寫(xiě)圖片描述

3.Lxml

Lxml是基于libxml2這一XML解析庫(kù)的python封裝。該模塊使用c語(yǔ)言編寫(xiě),解析速度比Beautiful Soup更快。 安裝命令如下:

pip install lxmlpip install CSSselect

如下代碼,從html中獲取class=country的ul標(biāo)簽下,li標(biāo)簽id=a的文本,獲取li標(biāo)簽class=b的文本 這里寫(xiě)圖片描述

4.三種方式的比較

抓取方法性能使用難度安裝難度
正則表達(dá)式困難簡(jiǎn)單(內(nèi)置模塊)
Beautiful Soup簡(jiǎn)單簡(jiǎn)單(純python)
Lxml簡(jiǎn)單相對(duì)困難

通常,lxml是抓取數(shù)據(jù)最好的選擇,因?yàn)樵摲椒瓤焖儆纸?,而正則和Beautiful Soup只在某些特定場(chǎng)景下用。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 湖口县| 西藏| 浠水县| 新沂市| 冷水江市| 瑞金市| 武定县| 信丰县| 旬阳县| 彰武县| 滕州市| 那坡县| 华亭县| 右玉县| 杭锦旗| 铁力市| 江永县| 日照市| 来安县| 阿荣旗| 连南| 定西市| 义马市| 普陀区| 昭通市| 吉安市| 宜宾县| 蓬莱市| 象州县| 响水县| 贵南县| 张家口市| 乐昌市| 灵山县| 苍溪县| 青冈县| 集贤县| 武清区| 玉溪市| 兴仁县| 遂川县|