【從零開始學爬蟲】採集丁香醫生新冠問答資料

前嗅大資料發表於2023-01-13

圖片

|採集簡介

【場景描述】採集丁香醫生網中新冠問題下的最新醫患問答資料。

【源網站介紹】丁香醫生網提供問醫生、查疾病、查藥品、查疫苗、查檢查、科普影片等資訊。

【使用工具】前嗅ForeSpider資料採集系統,免費下載:

 

|採集網站

【入口網址】

【採集內容】

採集新冠問題的使用者提問、醫生回答、醫生姓名、科室、醫生所屬醫院最新基本資料。

 

圖片

【採集效果】如下圖所示:

圖片

 

|思路分析

配置思路概覽:

圖片

 

|配置步驟

1.新建採集任務

選擇【採集配置】,點選任務列表右上方【+】號可新建採集任務,將採集入口地址填寫在【採集地址】框中,【任務名稱】自定義即可,點選下一步。

 

圖片

 

選擇【抽取連結】的所有連結,勾選【翻頁連結】,然後點選【完成】。

圖片

 

2. 抽取翻頁連結

①在入口頁搜尋選擇不同頁數,發現不同頁數搜尋結果的連結,只更換了圖中紅框部分,而紅框部分正是經過轉碼後的頁數,於是得出頁數連結的拼接規則為:

%E6%96%B0%E5%86%A0?page_index=頁數

圖片

 

②在【模板抽取配置】選擇頻道(即任務名稱),選擇【指令碼視窗】,將頁數搜尋配置在頻道處即可。

圖片

 

③具體配置指令碼如下:

圖片

 

④效果預覽:

點選【儲存】,點選【採集預覽】,即可看到配置效果。

圖片

 

3.連結抽取

這一步是在獲取的翻頁連結中,提取每頁全部問答連結:

①在原有模板基礎上,點選按鈕如下,新增列表連結抽取。

圖片

 

②採用地址過濾的方法來抽取表一連結,具體如下所示:

點選採集預覽,先觀察標題連結規律,找到規律,很明顯標題連結中都包含: 規律的數字

 

圖片

 

然後設定地址過濾,過濾包含“ ”的連結,這樣就把列表連結過濾出來了。

圖片

 

③關聯模板,點選【列表連結】抽取,關聯模板03。

圖片

 

4. 資料抽取

①連結抽取完成進入資料頁,在原有模板基礎上新增資料抽取,點選【+】後新建模板03,然後點選【新增資料抽取】按鈕。

圖片

 

②此時要完成資料建表的工作:

a.選擇【資料建表】,點選【採集資料表結構】中的【+】,即可新增表單,名稱可以自定義。

圖片

 

b.另外需要注意,每一個表單都需要配置主鍵欄位,需要使用指令碼的欄位,在高階型別中選擇指令碼取值才可進行指令碼操作。

圖片


 

c.其它欄位根據實際需求配置即可,例如:questions欄位配置如下。

圖片

 

③將新建好的表單,關聯到模板中去,如下圖所示:

圖片

 

④填寫示例地址

採集預覽,複製任意一條列表連結。

圖片

 

⑤將連結貼上到本模板示例地址中,並雙擊內建瀏覽器空白部分,載入本連結。

圖片

 

⑥需要配置哪一個欄位,點選該欄位,在右側欄位屬性中配置即可,選擇指令碼配置的欄位,在指令碼視窗中進行程式碼配置。

id欄位:主鍵欄位,採集內容選擇【主鍵】-【網頁主鍵】,主鍵為當前網頁的MD5值。

圖片

 

doctorname欄位:醫生姓名欄位,採集內容選擇【選區內可見文字】-【選區內可見文字】,選擇doctorname按住“ctrl+滑鼠左鍵”選擇所需區域,之後點選【確認選區】。

圖片

 

hospitalname欄位:所屬醫院欄位,採集內容選擇【選區內可見文字】-【選區內可見文字】,選擇hostpitalname按住“ctrl+滑鼠左鍵”選擇所需區域,之後點選【確認選區】。

圖片

 

department欄位:科室欄位,採集內容選擇【選區內可見文字】-【選區內可見文字】,選擇department按住“ctrl+滑鼠左鍵”選擇所需區域,之後點選【確認選區】。

圖片

 

question欄位:問題欄位是用指令碼處理的。

以第一頁其中一個問答為例,檢視網頁結構(可以使用F12檢視,但需確認原始碼與F12內容一致)。

透過檢視網頁結構,發現所需要的連結全部包含在“class”類中。每個連結塊對應多個“dialog”類,我們所需要的內容包含在“class”類的下一個結點“dialog theme-dark”中,“GetTextAll”獲取文字的結點。

圖片 圖片

 

answer欄位:回答欄位是用指令碼處理的。

使用F1檢視網頁,發現所需要的連結全部包含在“class”類中。每個連結塊對應多個“dialog”類,我們所需要的內容包含在“class”類的“dialog theme-white”下一個結點中,“GetTextAll”獲取文字的結點。

圖片 圖片

 

⑦以上完成全部欄位配置,效果預覽如下:

圖片

 

|採集步驟

以上模板配置已完成,在採集預覽沒有問題後,便可以進行資料採集。

1.首先要建立採集資料表:

選擇【資料建表】,點選【表單列表】中該模板的表單,在【關聯資料表】中選擇【建立】,表名稱自定義,這裡命名為doctorQandA(注意命名不能用數字和特殊符號),點選【確定】 建立完成,勾選資料表。

圖片

 

2.選擇【資料採集】,勾選任務名稱,點選【開始採集】,則正式開始採集。

圖片 圖片

 

3.可以在【資料瀏覽】中,選擇資料表檢視採集資料。

圖片

 

4.匯出資料

採集結束後,可以在【資料瀏覽】中,選擇資料表檢視採集資料,並可以匯出資料。

圖片

 

5.匯出的檔案開啟如下圖所示:

圖片


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69987309/viewspace-2932100/,如需轉載,請註明出處,否則將追究法律責任。

相關文章