最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

六星源課堂:Python網(wǎng)絡(luò)爬蟲基本知識

2022-05-06 10:19 作者:六星源課堂  | 我要投稿

Python中實(shí)現(xiàn)HTTP請求

網(wǎng)頁下載器是爬蟲的核心部分之一,下載網(wǎng)頁就需要實(shí)現(xiàn)HTTP請求,在Python中實(shí)現(xiàn)HTTP請求比較常用的主要有兩個(gè)庫。

一是Urllib庫。Urllib庫是Python內(nèi)置的HTTP請求庫,可以直接調(diào)用。

二是Requests庫。Requests庫是用Python語言編寫的,基于Urllib,采用Apache2

Licensed開源協(xié)議的HTTP庫。它比Urllib更加方便,使用它可以節(jié)約我們大量的工作,完全滿足HTTP的測試需求。Requests是一個(gè)純Python編寫的、簡單易用的HTTP庫。

這兩種實(shí)現(xiàn)HTTP請求的庫中,Requests庫最簡單,功能也最豐富,完全可以滿足HTTP測試需求。

Python中實(shí)現(xiàn)網(wǎng)頁解析

所謂網(wǎng)頁解析器,簡單地說就是用來解析HTML網(wǎng)頁的工具,它主要用于從HTML網(wǎng)頁信息中提取需要的、有價(jià)值的數(shù)據(jù)和鏈接。在Python中解析網(wǎng)頁主要用到下圖所示的3種工具。

一是正則表達(dá)式。正則表達(dá)式(regularexpression)描述了一種字符串匹配的模式(pattern),可以用來檢查一個(gè)串是否含有某種子串,將匹配的子串替換或者從某個(gè)串中取出符合某個(gè)條件的子串等。正則表達(dá)式的優(yōu)點(diǎn)是基本能用正則表達(dá)式來提取想要的所有信息,效率比較高,但缺點(diǎn)也很明顯——正則表達(dá)式不是很直觀,寫起來比較復(fù)雜。

二是Lxml庫。這個(gè)庫使用的是XPath語法,同樣是效率比較高的解析庫。XPath是一門在XML文檔中查找信息的語言。XPath可用來在XML文檔中對元素和屬性進(jìn)行遍歷。XPath比較直觀易懂,配合Chrome瀏覽器或Firefox瀏覽器,寫起來非常簡單,它的代碼速度運(yùn)行快且健壯,一般來說是解析數(shù)據(jù)的最佳選擇,Lxml是本書中解析網(wǎng)頁的主力工具。

三是Beautiful Soup。Beautiful Soup是一個(gè)可以從HTML或XML文件中提取數(shù)據(jù)的Python庫。它能夠通過我們喜歡的轉(zhuǎn)換器實(shí)現(xiàn)慣用的文檔導(dǎo)航、查找。Beautiful Soup編寫效率高,能幫程序員節(jié)省數(shù)小時(shí)甚至數(shù)天的工作時(shí)間。Beautiful Soup比較簡單易學(xué),但相比Lxml和正則表達(dá)式,解析速度慢很多。

總結(jié)起來,無論正則表達(dá)式、Beautiful Soup庫還是Lxml庫,都能滿足我們解析網(wǎng)頁的需求,但Lxml使用的XPath語法簡單易學(xué)、解析速度快。

Python爬蟲框架

前面介紹的HTTP請求庫和網(wǎng)頁解析技術(shù)都是一步步手寫爬蟲時(shí)使用的,Python中還有很多幫助實(shí)現(xiàn)爬蟲項(xiàng)目的半成品——爬蟲框架。爬蟲框架允許根據(jù)具體項(xiàng)目的情況,調(diào)用框架的接口,編寫少量的代碼實(shí)現(xiàn)一個(gè)爬蟲。爬蟲框架實(shí)現(xiàn)了爬蟲要實(shí)現(xiàn)的常用功能,能夠節(jié)省編程人員開發(fā)爬蟲的時(shí)間,幫助編程人員高效地開發(fā)爬蟲。

在Python中,爬蟲框架很多,常見的Python爬蟲框架主要有Scrapy框架、Pyspider框架、Cola框架等。

以上為本次分享的全部內(nèi)容,如果對編程想獲得更多了解,請前往六星源課堂,開啟你的編程之旅~

六星源課堂:Python網(wǎng)絡(luò)爬蟲基本知識的評論 (共 條)

分享到微博請遵守國家法律
淮安市| 得荣县| 思茅市| 绥棱县| 青浦区| 万安县| 瑞昌市| 南通市| 安泽县| 台中县| 河曲县| 江达县| 新乡市| 榆树市| 察哈| 昌江| 澎湖县| 阜平县| 九龙坡区| 金山区| 舞钢市| 津南区| 北流市| 宝清县| 禄丰县| 瑞安市| 宕昌县| 安多县| 利辛县| 三原县| 屏南县| 中超| 仪征市| 道孚县| 高碑店市| 青州市| 清镇市| 行唐县| 盘山县| 昌乐县| 饶平县|