日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

5种流行的Web抓取Python库,你用过哪种?

發(fā)布時(shí)間:2025/5/22 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 5种流行的Web抓取Python库,你用过哪种? 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

“我們有足夠的數(shù)據(jù)”這句話,在數(shù)據(jù)科學(xué)領(lǐng)域并不存在。

我很少會(huì)聽(tīng)到有人拒絕為他們的機(jī)器學(xué)習(xí)或深度學(xué)習(xí)項(xiàng)目收集更多的數(shù)據(jù),往往都是永遠(yuǎn)覺(jué)得自己擁有的數(shù)據(jù)不夠多。

為了緩解這種“數(shù)據(jù)焦慮”,分析師或數(shù)據(jù)科學(xué)家們練就了必備的技能之一:網(wǎng)站抓取。

用Python執(zhí)行網(wǎng)站抓取很方便,有大量的庫(kù)可以使用,但頭疼的地方也在于此,如何決定哪一個(gè)庫(kù)適合自己的特定項(xiàng)目?哪個(gè)Python庫(kù)最靈活?

先不直接給出答案,下文所列舉的是我認(rèn)為較為通用的5個(gè)Python庫(kù),將通過(guò)對(duì)它們的優(yōu)劣評(píng)估來(lái)回答那些疑問(wèn)。

1.Requests

Requests是一個(gè)Python庫(kù),用于發(fā)出各種類(lèi)型的HTTP請(qǐng)求,例如GET,POST等。由于其簡(jiǎn)單易用,它被稱為HTTP for Humans。

我想說(shuō)這是Web抓取最基本但必不可少的庫(kù)。但是,請(qǐng)求庫(kù)不會(huì)解析檢索到的HTML數(shù)據(jù)。如果要這樣做,還需要結(jié)合lxml和Beautiful Soup之類(lèi)的庫(kù)一起使用(將在本文中進(jìn)一步介紹它們)。

那Requests Python庫(kù)有哪些優(yōu)缺點(diǎn)?

優(yōu)點(diǎn):

簡(jiǎn)單

基本/摘要身份驗(yàn)證

國(guó)際域名和URL

分塊請(qǐng)求

HTTP(S)代理支持

缺點(diǎn):

僅檢索頁(yè)面的靜態(tài)內(nèi)容

不能用于解析HTML

無(wú)法處理純JavaScript制作的網(wǎng)站

2.lxml

lxml是一種高性能,快速,高質(zhì)生產(chǎn)力的HTML和XML解析Python庫(kù)。

它結(jié)合了ElementTree的速度和功能以及Python的簡(jiǎn)單性。當(dāng)我們打算抓取大型數(shù)據(jù)集時(shí),它能發(fā)揮很好的作用。

在Web抓取的時(shí)候,lxml經(jīng)常和Requests進(jìn)行組合來(lái)使用,此外,它還允許使用XPath和CSS選擇器從HTML提取數(shù)據(jù)。

那lxml Python庫(kù)的優(yōu)缺點(diǎn)有哪些?

優(yōu)點(diǎn):

比大多數(shù)解析器快

輕巧

使用元素樹(shù)

Pythonic API

缺點(diǎn):

不適用于設(shè)計(jì)不當(dāng)?shù)腍TML

官方文檔不太適合初學(xué)者

3.BeautifulSoup

BeautifulSoup也許是Web抓取中使用最廣泛的Python庫(kù)。它創(chuàng)建了一個(gè)解析樹(shù),用于解析HTML和XML文檔。還會(huì)自動(dòng)將傳入文檔轉(zhuǎn)換為Unicode,將傳出文檔轉(zhuǎn)換為UTF-8。

在行業(yè)中,將“BeautifulSoup”與“Requests”組合在一起使用非常普遍。

讓BeautifulSoup備受歡迎的主要原因之一,就是它易于使用并且非常適合初學(xué)者。同時(shí),還可以將Beautiful Soup與其他解析器(如lxml)結(jié)合使用。

但是相對(duì)應(yīng)的,這種易用性也帶來(lái)了不小的運(yùn)行成本——它比lxml慢。即使使用lxml作為解析器,它也比純lxml慢。

下面來(lái)綜合看下BeautifulSoup庫(kù)的優(yōu)缺點(diǎn)都有哪些?

優(yōu)點(diǎn):

需要幾行代碼

優(yōu)質(zhì)的文檔

易于初學(xué)者學(xué)習(xí)

強(qiáng)大

自動(dòng)編碼檢測(cè)

缺點(diǎn):

比lxml慢

4. Selenium

到目前為止,我們討論的所有Python庫(kù)都有一個(gè)局限性:不能輕易地從動(dòng)態(tài)填充的網(wǎng)站上抓取數(shù)據(jù)。

發(fā)生這種情況的原因有時(shí)是因?yàn)轫?yè)面上存在的數(shù)據(jù)是通過(guò)JavaScript加載的。簡(jiǎn)單概括就是,如果頁(yè)面不是靜態(tài)的,那么前面提到的Python庫(kù)就很難從頁(yè)面中抓取數(shù)據(jù)。

這種情況,就比較適合使用Selenium。

Selenium最初是用于自動(dòng)測(cè)試Web應(yīng)用程序的Python庫(kù),是用于渲染網(wǎng)頁(yè)的Web驅(qū)動(dòng)程序,也正因如此,在其他庫(kù)無(wú)法運(yùn)行JavaScript的地方,Selenium就可以發(fā)揮作用:在頁(yè)面上單擊,填寫(xiě)表格,滾動(dòng)頁(yè)面并執(zhí)行更多操作。

這種在網(wǎng)頁(yè)中運(yùn)行JavaScript的能力,使Selenium能夠抓取動(dòng)態(tài)填充的網(wǎng)頁(yè)。但是這里存在一個(gè)“缺陷”,它為每個(gè)頁(yè)面加載并運(yùn)行JavaScript,會(huì)使其運(yùn)行速度變慢,不適合大型項(xiàng)目。

如果不關(guān)心時(shí)間和速度,那么Selenium絕對(duì)是個(gè)很好的選擇。

優(yōu)點(diǎn):

初學(xué)者友好

自動(dòng)網(wǎng)頁(yè)抓取

可以抓取動(dòng)態(tài)填充的網(wǎng)頁(yè)

自動(dòng)化網(wǎng)絡(luò)瀏覽器

可以在網(wǎng)頁(yè)上執(zhí)行任何操作,類(lèi)似于一個(gè)人

缺點(diǎn):

非常慢

設(shè)置困難

高CPU和內(nèi)存使用率

不適用于大型項(xiàng)目

5. Scrapy

現(xiàn)在是時(shí)候介紹Python Web抓取庫(kù)的BOSS——Scrapy!

Scrapy不僅僅單純是一個(gè)庫(kù),它是Scrapinghub的聯(lián)合創(chuàng)始人Pablo Hoffman和Shane Evans創(chuàng)建的整個(gè)Web抓取框架,是一款功能完善的網(wǎng)頁(yè)抓取解決方案,可以完成所有繁重的工作。

Scrapy提供的蜘蛛機(jī)器人可以抓取多個(gè)網(wǎng)站并提取數(shù)據(jù)。使用Scrapy,可以創(chuàng)建自己的蜘蛛機(jī)器人,將其托管在Scrapy Hub上,或作為API。在幾分鐘內(nèi)就可以創(chuàng)建功能齊全的蜘蛛網(wǎng),當(dāng)然也可以使用Scrapy創(chuàng)建管道。

關(guān)于Scrapy最好的一點(diǎn)在于它是異步的,這意味著可以同時(shí)發(fā)出多個(gè)HTTP請(qǐng)求,能夠?yàn)槲覀児?jié)省很多時(shí)間并提高效率(這不是我們正為之奮斗的嗎?)。

我們還可以向Scrapy添加插件來(lái)增強(qiáng)其功能。盡管Scrapy無(wú)法像selenium一樣處理JavaScript,但可以將其與名為Splash的庫(kù)(輕量級(jí)Web瀏覽器)配對(duì)。借助Splash,Scrapy就能實(shí)現(xiàn)從動(dòng)態(tài)網(wǎng)站提取數(shù)據(jù)。

優(yōu)點(diǎn):

異步

優(yōu)秀的文檔

各種插件

創(chuàng)建自定義管道和中間件

CPU和內(nèi)存使用率低

精心設(shè)計(jì)的架構(gòu)

大量可用的在線資源

缺點(diǎn):

學(xué)習(xí)門(mén)檻較高

過(guò)分的輕松工作

不適合初學(xué)者

這些是我個(gè)人覺(jué)得很有用的Python庫(kù),如果有其他你使用起來(lái)不錯(cuò)的庫(kù),歡迎留言評(píng)論~

原文鏈接:

https://www.analyticsvidhya.com/blog/2020/04/5-popular-python-libraries-web-scraping/

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的5种流行的Web抓取Python库,你用过哪种?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日本视频黄色 | 欧美激情校园春色 | 亚洲精品在线观看免费 | 中文国产字幕 | 精品一区不卡 | 成 人 黄 色 片 在线播放 | 激情综合久久 | www.男人的天堂.com | 国产69精品久久久久777 | 依依成人综合网 | 日剧大尺度床戏做爰 | 国产成人精品亚洲日本在线观看 | 人人搞人人 | 美女扒开腿让男生捅 | 午夜大片网 | 欧美日韩一级二级三级 | 国产精品人人妻人人爽人人牛 | 色诱视频在线观看 | 电影91久久久| 久久不卡日韩美女 | 亚洲精品久久久久avwww潮水 | 免费国产高清 | 潘金莲一级淫片aaaaaaa | 国产一级片网站 | 精品人妻一区二区三区视频 | www视频在线观看网站 | 日本乱论视频 | 高h在线观看 | 激情小说中文字幕 | 国内成人av | a在线观看免费 | 综合久久激情 | 天天爱综合 | 国产精品成人网站 | 免费在线观看不卡av | 综合网视频 | 中文字幕亚洲一区二区三区 | 国产伦精品一区二区三 | 狠狠狠狠狠狠狠干 | 性色av一区二区三区在线观看 | 男男play呻吟动漫网站 | 四虎av网址| 少妇精品久久久一区二区三区 | 黄色一及毛片 | 国产一区二区电影 | 五月婷婷激情在线 | 国产a√精品区二区三区四区 | 手机在线看片 | 国产最新在线视频 | 国产精品国产三级国产专区53 | 把高贵美妇调教成玩物 | 午夜剧场福利 | 天天碰免费视频 | 亚洲调教 | 九九热在线免费观看 | 国内精品毛片 | 99热这里只 | 青青草一区二区 | 欧美精品网址 | 在线一区 | 91一级视频 | 福利片av | 精品少妇爆乳无码av无码专区 | 国产熟女精品视频 | 校园春色亚洲色图 | 成人国产网站 | 亚洲国产一区在线观看 | 日本激情视频在线观看 | 大尺度床戏视频 | 久久国产一二三 | 国产一区=区 | 一区二区三区四区国产精品 | 日韩欧美少妇 | 9l视频自拍蝌蚪9l视频 | 伊人狼人久久 | 欧美日韩国产精品 | 欧美性一区二区 | 秋霞综合网 | av电影一区二区 | 中文字幕 亚洲一区 | 日韩高清一二三区 | 国产91精品久久久 | 伊人久久精品 | 欧美激情爱爱 | 泰国午夜理伦三级 | 色哟哟入口国产精品 | 精品一区二区三区无码视频 | 刘亦菲国产毛片bd | 国产一级片免费观看 | 日韩三区在线 | 成人国产网站 | 国内免费毛片 | 精品成人中文无码专区 | 中国av毛片| 婷婷色在线视频 | 日本精品久久久久中文字幕 | 亚洲精品在线观看网站 | 亚洲人体在线 | 成人免费在线视频网站 |