scrapy 2.3 選擇器

2021-06-03 11:03 更新

當(dāng)你抓取網(wǎng)頁時(shí),你需要執(zhí)行的最常見的任務(wù)是從HTML源代碼中提取數(shù)據(jù)。有幾個(gè)庫可以實(shí)現(xiàn)這一點(diǎn),例如:

BeautifulSoup 在Python程序員中是一個(gè)非常流行的Web抓取庫,它基于HTML代碼的結(jié)構(gòu)構(gòu)造了一個(gè)Python對(duì)象,并且能夠很好地處理錯(cuò)誤的標(biāo)記,但是它有一個(gè)缺點(diǎn):速度慢。lxml 是一個(gè)XML解析庫(它也解析HTML),使用基于 ?ElementTree? . (LXML不是Python標(biāo)準(zhǔn)庫的一部分。)

Scrapy有自己的數(shù)據(jù)提取機(jī)制。它們被稱為選擇器,因?yàn)樗鼈儭斑x擇”HTML文檔的某些部分 XPath 或 CSS 表達(dá)。

XPath 是一種在XML文檔中選擇節(jié)點(diǎn)的語言,也可以與HTML一起使用。 CSS 是用于將樣式應(yīng)用于HTML文檔的語言。它定義選擇器,將這些樣式與特定的HTML元素相關(guān)聯(lián)。

注解

碎屑選擇器是一個(gè)很薄的包裝 parsel library;這個(gè)包裝器的目的是提供更好的與slapy響應(yīng)對(duì)象的集成。

parsel 是一個(gè)獨(dú)立的網(wǎng)頁爬取庫,可以使用沒有 Scrapy 。它使用 lxml 庫位于引擎蓋下,并在LXML API之上實(shí)現(xiàn)一個(gè)簡單的API。這意味著scrapy選擇器在速度和解析精度方面與lxml非常相似。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)