ForeSpider教程之如何爬取位置不固定的圖片

衆所周知,對於新聞網站來講,圖片位置是沒法固定的,因此想要爬取到這些位置不固定的圖片,須要必定的技術手段。html

以某網站爲例,任務入口地址爲:http://www.chengdu.cn/web

1、對首頁進行連接抽取。數據庫

 

抽取文章標題,使用地址過濾「包含」.shtml。抽取到結果以下:網站


2、新建模板2,抽取圖片連接及內容數據:加密

示例地址以下:http://news.chengdu.cn/2016/0817/1810143.shtmlurl

 

1. 把圖片連接抽取出來。spa

進行採集預覽,查看圖片的連接規律,經過地址過濾「排除」^jpg;^jpeg;^png;^bmp;^gif。htm

2. 爲圖片設置惟一標誌與正文相關聯。教程

經過標題過濾腳本return MD5(URL.urlname)給模板2的主鍵賦值,由於新聞圖片的不規則性,須要經過某個字段將內容與圖片相關聯,因此此處標題過濾還有個做用就是將整個網頁內容傳遞到模板3,起到相關聯的做用。事件

過濾好的圖片連接以下:

 

3.設置字段,爲了將爬取到的內容分類的放入數據庫中。

取正文頁的數據,配置以下表單:

 

4.給字段賦值,從而得到數據。

經過定位及腳本取值,取到以下數據:

 

因爲新聞類網站文章的不規則性,因此某些字段是須要經過腳本取值實現的。腳本取值字段包括:hkey、author、news_time、content、pub_web。

如下爲字段腳本:

hkey:return MD5(URL.urlname);//返回本頁連接地址,經過MD5方法加密。

author:

return "編輯" + DOM.GetTextAll(DOM.FindClass("font_gray")).Right("編輯");//在源碼裏找到包含做者標籤的class,取出其中的文本,而後取右串「編輯」。

news_time:

return DOM.GetTextAll(DOM.FindClass("font_gray")).Left("來源");//在源碼裏找到包含新聞時間標籤的class,取出其中的文本,而後取「來源」左側的內容。

content:

return DOM.GetTextAll(DOM.FindClass("contxt"));//在源碼裏找到包含新聞事件標籤的class,取出其中的文本。

pub_web:

return DOM.GetTextAll(DOM.FindClass("font_gray")).Middle("來源:"," ");//源碼裏找到包含文章原出處標籤的class,取出其中的文本,而後取」來源」和」 」中間的內容。

三.新建模板3,抽取圖片。

 

取圖片,配置以下表單:

須要注意的是003爲新聞主鍵,即與模板二相對應的字段。

 

預覽的結果圖以下:

 

這樣操做不只可使內容和圖片一一對應,也便於以後的數據導出工做。

以上就是位置不固定的圖片的抽取教程,你們學會了嗎?

相關文章
相關標籤/搜索