提取的數(shù)據(jù)還不能直接拿來(lái)用?文件還沒(méi)有被下載?格式等都還不符合要求?別著急,網(wǎng)頁(yè)抓取工具火車(chē)采集器自有應(yīng)對(duì)方案——數(shù)據(jù)處理。
網(wǎng)頁(yè)抓取工具的數(shù)據(jù)處理功能包括三個(gè)部分,分別是內(nèi)容處理、文件下載、內(nèi)容過(guò)濾。下面依次給大家介紹:
1、內(nèi)容處理:對(duì)從內(nèi)容頁(yè)面提取的數(shù)據(jù)進(jìn)行替換、標(biāo)簽過(guò)濾、分詞等進(jìn)一步處理,我們可以同時(shí)添加多個(gè)操作,但這里需要注意的是,有多個(gè)操作時(shí)是按照從上到下的順序來(lái)執(zhí)行,也就是說(shuō),上個(gè)步驟的結(jié)果會(huì)作為下個(gè)步驟的參數(shù)。
下面來(lái)逐個(gè)介紹一下:
①提取內(nèi)容為空:如果通過(guò)前面的規(guī)則無(wú)法準(zhǔn)確提取或提取到的內(nèi)容為空,則選擇此項(xiàng),此項(xiàng)應(yīng)用后會(huì)使用正則匹配從原始頁(yè)面中再次提取一次。
②內(nèi)容替換/排除:將采集到的內(nèi)容進(jìn)行字符串替換,如需排除,則替換為空字符串即可,功能很靈活。如下圖,可直接對(duì)內(nèi)容進(jìn)行替換,也可對(duì)字符串進(jìn)行參數(shù)替換等(區(qū)別于工具欄中的同義詞替換)。
③html標(biāo)簽過(guò)濾:過(guò)濾指定html標(biāo)簽,比如<a ,<font。這樣采集出來(lái)的內(nèi)容就不會(huì)帶有源碼中一些樣式標(biāo)簽,更符合我們的使用標(biāo)準(zhǔn)。
④字符截?。和ㄟ^(guò)開(kāi)始和結(jié)束字符串對(duì)內(nèi)容進(jìn)行截取。適用于對(duì)已提取內(nèi)容的截取調(diào)整。
⑤純正則替換:如果一些內(nèi)容(比如單一出現(xiàn)的文字)無(wú)法通過(guò)通用的內(nèi)容替換來(lái)操作,那么則需要通過(guò)強(qiáng)大的正則表達(dá)式進(jìn)行復(fù)雜的替換。
如“火爆的美式餐廳都在這里”,我們將其替換為“美式餐廳”,正則表達(dá)式如下:
⑥數(shù)據(jù)轉(zhuǎn)換:包括將結(jié)果簡(jiǎn)轉(zhuǎn)繁、將結(jié)果繁轉(zhuǎn)簡(jiǎn)、自動(dòng)轉(zhuǎn)化為拼音和時(shí)間修正轉(zhuǎn)化,共計(jì)四項(xiàng)處理。
⑦智能提?。喊ㄌ崛〉谝粡垐D片、智能提取時(shí)間、智能提取郵箱、智能提取手機(jī)號(hào)碼、智能提取電話號(hào)碼。
⑧高級(jí)功能:包括自動(dòng)摘要、自動(dòng)分詞、自動(dòng)分類、Http請(qǐng)求、字符編碼轉(zhuǎn)換、同義詞替換、空內(nèi)容缺省值、內(nèi)容加前后綴、隨機(jī)插入、運(yùn)行C#代碼、批量?jī)?nèi)容替換,統(tǒng)計(jì)標(biāo)簽字符串長(zhǎng)度等一系列功能。
⑨補(bǔ)全單網(wǎng)址:將當(dāng)前內(nèi)容作為一個(gè)網(wǎng)址進(jìn)行補(bǔ)全。
2、文件下載:可以自動(dòng)探測(cè)并下載文件,可設(shè)置下載路徑和文件名樣式。
注意:文件下載中所指下載圖片是源代碼里有標(biāo)準(zhǔn)樣式<img src="圖片地址"/>標(biāo)簽的圖片地址。
比如是一個(gè)直接的圖片地址http://m.zxsww.com/logo.gif ,或者不規(guī)則的圖片源碼,采集器將會(huì)視為文件下載。
①將相對(duì)地址補(bǔ)全為絕對(duì)地址:勾選后會(huì)把標(biāo)簽采集到的相對(duì)地址補(bǔ)全為絕對(duì)地址。
②下載圖片:勾選后源代碼里的含標(biāo)準(zhǔn)樣式<img src="圖片地址"/>的代碼圖片將被下載。
③探測(cè)文件真實(shí)地址但不下載:有時(shí)候采集到的是附件下載地址,而非真實(shí)的下載地址,點(diǎn)擊后會(huì)有跳轉(zhuǎn)。這種情況下勾選此項(xiàng)會(huì)將真實(shí)地址采集出來(lái),但是只是得到下載地址并不下載。
④探測(cè)文件并下載:勾選后可以把采集到的任何格式的文件附件下載下來(lái)。
3、內(nèi)容過(guò)濾:對(duì)于一些不符合條件的記錄,可以通過(guò)設(shè)置內(nèi)容過(guò)濾來(lái)刪除或標(biāo)記為未采。內(nèi)容過(guò)濾有以下幾個(gè)處理方法:
①內(nèi)容不得包含和內(nèi)容必須包含:可以設(shè)置多個(gè)詞,支持選擇所有條件都必須滿足或滿足其中一個(gè)條件即可。
②采集結(jié)果不得為空:該功能可以讓某個(gè)字段不出現(xiàn)空內(nèi)容。
③采集結(jié)果不得重復(fù):該功能可以讓某個(gè)字段不出現(xiàn)重復(fù)內(nèi)容。設(shè)置此項(xiàng)前請(qǐng)確保沒(méi)有采集過(guò)數(shù)據(jù),或者需先清空采集數(shù)據(jù)。
④當(dāng)內(nèi)容長(zhǎng)度小于(大于,等于,不等于)N時(shí)過(guò)濾:一個(gè)符號(hào)或一個(gè)字母或一個(gè)數(shù)字或一個(gè)漢字都計(jì)作一個(gè)。
注意:對(duì)于滿足上述四條中的任何一條或者多條的情況下,可以在采集器的其他設(shè)置功能里設(shè)置直接刪除此條記錄,或把此條記錄標(biāo)記為未采集下次運(yùn)行任務(wù)時(shí)會(huì)再次采集。
網(wǎng)頁(yè)抓取工具火車(chē)采集器中配備一系列數(shù)據(jù)處理的好處是,當(dāng)我們需要進(jìn)行的只是一個(gè)很小的操作時(shí),不需要再去寫(xiě)插件,去生成和編譯,而是通過(guò)一步點(diǎn)擊就可以將數(shù)據(jù)處理成我們需要的樣子了。