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