閱讀217 返回首頁    go gooseeker集搜客


連續動作:自動選擇下拉菜單采集數據—以知網為例

一、操作步驟

用中國知網的期刊為例,展示連續動作中選擇動作和爬蟲路線中翻頁的組合。本次教程要實現的是先檢索2016年發表的期刊,再對檢索結果進行采集,流程如下圖所示:

為了實現這個,需要建立兩級規則,第一級規則通過連續動作來自動選擇發表年份,第二級規則負責采集期刊內容和翻頁。操作步驟如下:


二、案例規則+操作步驟

  • 第一級采集規則:中國知網期刊檢索前
  • 第二級采集規則:中國知網期刊檢索後
  • 樣本網址:https://epub.cnki.net/kns/brief/result.aspx?dbprefix=CJFQ
  • 采集內容:每一篇文獻的標題、作者、刊名、年期、被引、下載


第一步:定義第一級規則抓取內容

1.1,加載頁麵

打開GS爬蟲瀏覽器,輸入網址並按Enter鍵,看到瀏覽器加載出網頁後,點擊右上方的“定義規則”。

注意:這裏的截圖和文字說明都是GS爬蟲瀏覽器版。如果您安裝的是火狐插件版,那麼就沒有“定義規則”按鈕,而是應該運行MS謀數台。

1.2,輸入主題名

在工作台“主題名”處輸入第一級規則的主題名,再點擊“查重”,提示“該名可以使用”,就可以繼續,否則請重新命名。這裏命名主題名為“中國知網期刊檢索前”。

Tips:雖然這一級規則主要是為了做選擇動作,但為了保證頁麵已經加載完成,連續動作可以順利進行,通常在這級規則建立一些抓取內容。

1.3,內容映射

選擇“期刊”作為抓取內容,雙擊期刊,在彈出的標簽欄處輸入關鍵內容,整理箱命名為檢索前,並勾選為關鍵內容。直觀標注的基礎操作在這裏不贅述,不懂的請參考教程《采集網頁數據》。


第二步:定義第一級規則連續動作

2.1,輸入目標主題名

點擊“連續動作”工作台,輸入目標主題名(也就是第二級規則的主題名,這裏命名為“中國知網期刊檢索後”),點擊“誰在用”,彈出的窗口沒有信息,說明這個主題名沒有被占用,可以繼續後麵的操作,否則就需要換一個主題名。

2.2,創建第一個連續動作——起始年份選擇2016

2.2.1,找到定位表達式,填寫動作名稱

點擊新建,選擇動作類型為“選擇”,點擊一下起始年份,會自動定位到相應節點,選擇“顯示XPath:偏好id”,程序會自動顯示對應的Xpath路徑,再點擊搜索,可以看到這個路徑能找到唯一的節點,可作為動作的定位表達式,將這個路徑複製到定位表達式處,在動作名稱寫上文字,是為了方便清楚每個動作的用處。

Tips:選擇類型的連續動作,定位表達式必須寫到select節點,而不能寫到option節點,否則運行時會報錯。

2.2.2,高級設置

我們需要實現的是采集2016年發表的期刊,所以需要在起始年份和終止年份都選擇點擊2016年,這就需要在連續動作的高級設置裏做約束。

  • 額外延時:這裏填2秒,表示做完這個動作後延遲2秒再去做第二個動作,是為了避免動作做得太快而頁麵還沒做出反應導致采集失敗。
  • 起點:起始年份對應的select節點下有42個option,其中第41個option對應的就是2016年的選項,所以需要在高級設置裏起點填41(表示第一次做動作時就選擇第41個option)。
  • 跨度:跨度填10(表示下一次動作的位置跟這一次動作相差10個節點,即下一次去選擇第51個option,實際上並不存在第51個option,因為這裏隻需要選擇2016年,所以這樣設置之後,程序在選擇了2016年後找不到下一次動作的節點,就會停止動作)。

2.3,創建第二個連續動作——終止年份選擇2016

點擊新建,選擇動作類型為“選擇”。參考步驟2.2找到終止年份對應的Xpath路徑,並在高級設置中設置額外延時為2秒,起點為3(2016在第3個option),跨度填100。

2.4,創建第三個連續動作——點擊檢索

點擊新建,選擇“提交”動作。參考步驟2.2找到“檢索”對應的Xpath路徑,並在高級設置中設置額外延時為2秒。

2.5,存規則

點擊“存規則”按鈕保存已完成的第一級規則。


第三步:定義第二級規則抓取內容

3.1,新建規則

點擊“定義規則”恢複到普通網頁模式,選擇2016年並點擊檢索搜索出文獻結果後,再次點擊“定義規則”切換到做規則模式,點擊左上角“規則”菜單->“新建”,彈出提示“工作台上有內容,清空嗎?”,點擊確定。

輸入主題名,這裏的主題名就是上一級規則的連續動作那裏填寫的目標主題名,也就是“中國知網期刊檢索後”,點擊查重,彈出提示“該名已被預定。可編輯:是”,說明這個主題名可以使用。

3.2,標注要采集的信息

在頁麵直接點擊要采集的內容,彈出的窗口填上名稱,給“標題”勾上關鍵內容,並做上樣例複製。點擊測試可以預覽采集內容。直觀標注的詳細說明在這裏不贅述,詳細可參考教程《采集網頁數據》。


第四步:定義第二級規則翻頁線索

4.1,設置翻頁線索

點擊爬蟲路線,點擊“新建”,選擇“記號線索”;找到翻頁標記“下一頁”對應的節點,右擊-線索映射-記號線索;找到包含整個翻頁區域並且有class值或id值的節點,右擊-線索映射-定位-線索1。設置翻頁的操作在這裏不贅述,詳細可參考教程《設置翻頁采集》。

4.2,存規則

點擊“存規則”按鈕保存已完成的第二級規則。


第五步:抓數據

連續動作的兩級規則是連貫執行的,所以隻需要運行第一級規則,做完動作後程序會自動調用第二級規則。直接運行第二級規則就會報錯,因為打開的是執行動作前的初始頁麵。

5.1,打開打數機,找到第一級規則的主題名,點擊“單搜”或“集搜”,可以看到打數機的網頁窗口會自動選擇2016年,並不斷往下翻頁。

5.2,打開第二級主題的文件夾查看結果數據,在xml文件的actionvalue字段記錄了選擇的條目,這樣就能與結果數據一一對應起來。


上篇文章:《連續動作:自動搜索關鍵詞采集信息》                  下篇文章:《連續動作:滾屏采集瀑布流網頁》


若有疑問可以或集搜客爬蟲軟件

最後更新:2017-01-09 14:08:12

  上一篇:go 【第25期】連續動作采知網文獻
  下一篇:go 初級教程