WebMagic功能——XPath、CSS选择器、正则表达式 || 抽取元素API、获取结果API || 获取链接||使用Pipeline保存结果
WebMagic功能
實(shí)現(xiàn)PageProcessor
WebMagic里主要使用了三種抽取技術(shù):XPath、正則表達(dá)式和CSS選擇器。另外,對(duì)于JSON格式的內(nèi)容,可使用JsonPath進(jìn)行解析。
XPath
CSS選擇器
CSS選擇器是與XPath類似的語(yǔ)言。它比XPath寫起來(lái)要簡(jiǎn)單一些,但是如果寫復(fù)雜一點(diǎn)的抽取規(guī)則,就相對(duì)要麻煩一點(diǎn)。
正則表達(dá)式
正則表達(dá)式則是一種通用的文本抽取語(yǔ)言。在這里一般用于獲取url地址。
抽取元素API
Selectable相關(guān)的抽取元素鏈?zhǔn)紸PI是WebMagic的一個(gè)核心功能。使用Selectable接口,可以直接完成頁(yè)面元素的鏈?zhǔn)匠槿?#xff0c;也無(wú)需去關(guān)心抽取的細(xì)節(jié)。
在剛才的例子中可以看到,page.getHtml()返回的是一個(gè)Html對(duì)象,它實(shí)現(xiàn)了Selectable接口。這個(gè)接口包含的方法分為兩類:抽取部分和獲取結(jié)果部分。
獲取結(jié)果API
當(dāng)鏈?zhǔn)秸{(diào)用結(jié)束時(shí),我們一般都想要拿到一個(gè)字符串類型的結(jié)果。這時(shí)候就需要用到獲取結(jié)果的API了。
一條抽取規(guī)則,無(wú)論是XPath、CSS選擇器或者正則表達(dá)式,總有可能抽取到多條元素。WebMagic對(duì)這些進(jìn)行了統(tǒng)一,可以通過(guò)不同的API獲取到一個(gè)或者多個(gè)元素。
???????獲取鏈接
有了處理頁(yè)面的邏輯,我們的爬蟲就接近完工了,但是現(xiàn)在還有一個(gè)問(wèn)題:一個(gè)站點(diǎn)的頁(yè)面是很多的,一開始我們不可能全部列舉出來(lái),于是如何發(fā)現(xiàn)后續(xù)的鏈接,是一個(gè)爬蟲不可缺少的一部分。
???????使用Pipeline保存結(jié)果
WebMagic用于保存結(jié)果的組件叫做Pipeline。我們現(xiàn)在通過(guò)“控制臺(tái)輸出結(jié)果”這件事也是通過(guò)一個(gè)內(nèi)置的Pipeline完成的,它叫做ConsolePipeline。
那么,我現(xiàn)在想要把結(jié)果用保存到文件中,怎么做呢?只將Pipeline的實(shí)現(xiàn)換成"FilePipeline"就可以了
???????
總結(jié)
以上是生活随笔為你收集整理的WebMagic功能——XPath、CSS选择器、正则表达式 || 抽取元素API、获取结果API || 获取链接||使用Pipeline保存结果的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Selector选择器概述||Selec
- 下一篇: CSS 基本样式