當(dāng)列表頁(yè)采用點(diǎn)擊或滾動(dòng)加載更多內(nèi)容,無(wú)法批量生成列表翻頁(yè)網(wǎng)址進(jìn)行采集。
本合集將介紹4種實(shí)用有效的采集方法,解決此類網(wǎng)頁(yè)采集難題。
若文章詳情頁(yè)網(wǎng)址有規(guī)律變化(如數(shù)字遞增),可直接批量生成詳情頁(yè)網(wǎng)址采集,無(wú)需通過(guò)列表頁(yè)獲取。
配置步驟:
1)用高級(jí)模式創(chuàng)建采集任務(wù);
2)任務(wù)基本信息處,采集模式選擇 "詳情頁(yè)(零散采集)" ;
3)批量生成詳情頁(yè)網(wǎng)址,設(shè)置翻頁(yè)范圍,保存;
4)關(guān)閉彈窗,務(wù)必再點(diǎn)擊基本信息頁(yè)面下方的保存;
5)打開(kāi)詳情提取器,檢查并完善詳情頁(yè)采集規(guī)則,啟動(dòng)采集。
檢查是否存在網(wǎng)站地圖(sitemap),其地址通常為:域名/sitemap.xml 或者 域名/sitemap.html 。
網(wǎng)站地圖是網(wǎng)站的導(dǎo)航索引文件,列出所有重要頁(yè)面的網(wǎng)址,主要用于幫助搜索引擎抓取和索引網(wǎng)站內(nèi)容,可作為列表頁(yè)進(jìn)行批量采集。
配置步驟:
1)創(chuàng)建任務(wù)時(shí),在“列表頁(yè)” 輸入網(wǎng)站地圖網(wǎng)址,“典型詳情頁(yè)” 輸入一個(gè)詳情頁(yè)網(wǎng)址;
2)打開(kāi)列表提取器,點(diǎn)擊 "配置為SiteMap" 按鈕,保存并關(guān)閉;
3)按向?qū)瓿稍斍轫?yè)采集規(guī)則配置,啟動(dòng)采集。
若文章詳情頁(yè)中存在 "上一篇" 和 "下一篇" 、"相關(guān)推薦" 等跳轉(zhuǎn)鏈接,可使用無(wú)限循環(huán)采集功能:在采集詳情頁(yè)內(nèi)容的同時(shí),自動(dòng)提取頁(yè)面中的其他詳情頁(yè)鏈接加入采集隊(duì)列,一個(gè)接一個(gè)不斷循環(huán),最終實(shí)現(xiàn)整站文章的批量采集。
配置步驟:
1)用高級(jí)模式創(chuàng)建采集任務(wù),起始網(wǎng)址輸入一個(gè)詳情頁(yè)地址;
2)打開(kāi)詳情提取器,開(kāi)啟 "無(wú)限點(diǎn)選開(kāi)關(guān)",再點(diǎn)選包含目標(biāo)鏈接的區(qū)域;
3)打開(kāi) "無(wú)限循環(huán)啟用配置" ,勾上啟用選項(xiàng)后保存,啟動(dòng)采集。
檢查是否提供JSON格式的頁(yè)面,它通常包含多個(gè)詳情頁(yè)的網(wǎng)址和內(nèi)容,并且JSON頁(yè)面的URL地址呈數(shù)字遞增規(guī)律變化,可批量生成地址進(jìn)行采集。
在瀏覽器訪問(wèn)目標(biāo)網(wǎng)址 -> 啟用開(kāi)發(fā)者工具(F12或右鍵檢查)-> 切換到 "Network",選擇 "XHR" 選項(xiàng) -> 點(diǎn)擊加載更多按鈕,或者滾動(dòng)下拉頁(yè)面,加載更多內(nèi)容 -> 在開(kāi)發(fā)者工具出現(xiàn)相應(yīng)的JSON文件地址,點(diǎn)擊文件名后可獲取完整地址,即Request URL屬性值。
根據(jù)JSON格式的內(nèi)容,可分為兩種采集方式:“提取JSON中的詳情頁(yè)網(wǎng)址” 和 “直接采集JSON里的內(nèi)容” 。
JSON數(shù)據(jù)的內(nèi)容僅有精簡(jiǎn)的基本信息(如ID、標(biāo)題和詳情頁(yè)鏈接等),完整的內(nèi)容需通過(guò)訪問(wèn)詳情頁(yè)獲取。
配置步驟:
1)用高級(jí)模式創(chuàng)建采集任務(wù),批量生成JSON頁(yè)面的URL網(wǎng)址;
2)打開(kāi)列表提取器,選擇【Json數(shù)據(jù)】網(wǎng)址類型;
3)【提取JSON鍵名】填寫(xiě)與詳情頁(yè)鏈接地址相關(guān)的屬性名(通常為url、id、ArticleId等);
4)【鏈接生成定義】組合完整的詳情頁(yè)網(wǎng)址,若提取的鍵名值是完整網(wǎng)址,則留空;
上圖示例應(yīng)填寫(xiě)http://www.域名.com/news/#[ArticleId]#.html
5)完善詳情頁(yè)采集規(guī)則配置,啟動(dòng)采集。
若JSON數(shù)據(jù)中包含多個(gè)文章頁(yè)面的主要信息(如標(biāo)題、正文、時(shí)間、描述和關(guān)鍵詞等),則可直接遍歷采集每篇文章中的目標(biāo)字段。
配置步驟:
1)在采集任務(wù)列表【創(chuàng)建采集任務(wù)(高級(jí)模式)】-> 起始網(wǎng)址輸入JSON頁(yè)面的URL地址 -> 選擇【Json數(shù)據(jù)源】采集模式,保存;
2)點(diǎn)擊【JSON提取器(采內(nèi)容)】進(jìn)入提取規(guī)則配置;
3)在可視化JSON數(shù)據(jù)樹(shù),選擇包含要采集數(shù)據(jù)的節(jié)點(diǎn)(必須Array類型),選中后為藍(lán)色底框;
4)點(diǎn)擊右側(cè)【填到“提取數(shù)據(jù)的JSON表達(dá)式”】,自動(dòng)生成表達(dá)式并填到上方對(duì)應(yīng)選項(xiàng)框;
5)【要提取的字段名】可點(diǎn)擊右側(cè)的 "獲取生成字段",自動(dòng)獲取節(jié)點(diǎn)內(nèi)的全部字段名,也可手動(dòng)輸入目標(biāo)字段名;
6)【判斷數(shù)據(jù)重復(fù)的字段名】需從 "要提取的字段名" 的已有字段中選取,一般填寫(xiě)1個(gè)即可(多個(gè)用逗號(hào),分隔);
7)保存后回到任務(wù)基本信息頁(yè),啟動(dòng)采集。