【從零開始學爬蟲】採集丁香醫生新冠問答資料
|採集簡介
【場景描述】採集丁香醫生網中新冠問題下的最新醫患問答資料。
【源網站介紹】丁香醫生網提供問醫生、查疾病、查藥品、查疫苗、查檢查、科普影片等資訊。
【使用工具】前嗅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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【從零開始學爬蟲】採集收視率排行資料爬蟲
- 【從零開始學爬蟲】採集全國高校導師資料爬蟲
- 【從零開始學爬蟲】採集全國曆史天氣資料爬蟲
- 從零開始寫一個node爬蟲(上)—— 資料採集篇爬蟲
- 【從零開始學爬蟲】建立模板爬蟲
- 《從零開始學Python網路爬蟲》概要Python爬蟲
- 【從零開始學爬蟲】對任務的操作爬蟲
- 【從零開始學爬蟲】模板的高階選項爬蟲
- 從零開始的爬蟲專案(一)爬蟲
- Python爬蟲初學二(網路資料採集)Python爬蟲
- 爬蟲資料採集的工作原理爬蟲
- 【從零開始學爬蟲】模板的複製與貼上爬蟲
- 從零開始寫一個node爬蟲(一)爬蟲
- PYTHON系列-從零開始的爬蟲入門指南Python爬蟲
- 從零基礎開始學習Python爬蟲你需要注意的點以及如何學習爬蟲Python爬蟲
- 《從零開始學習Python爬蟲:頂點小說全網爬取實戰》Python爬蟲
- 【從零開始學爬蟲】任務屬性配置中的兩點技巧爬蟲
- 網站如何判斷爬蟲在採集資料?網站爬蟲
- 資料採集爬蟲ip代理基本原理爬蟲
- Python爬蟲新手教程:微醫掛號網醫生資料抓取Python爬蟲
- 從零開始,如何用puppeteer寫一個爬蟲指令碼爬蟲指令碼
- IPIDEA分析資料採集新趨勢,Python爬蟲的應用前景如何?IdeaPython爬蟲
- python爬蟲 之 scrapy框架採集2000期彩票資料Python爬蟲框架
- 從零開始學Spring Boot系列-返回json資料Spring BootJSON
- Python 從零開始爬蟲(六)——動態爬取解決方案 之 手動分析Python爬蟲
- 如何提高爬取爬蟲採集的效率?爬蟲
- 從零開始學PythonPython
- 【從零開始學習 MySql 資料庫】(2) 函式MySql資料庫函式
- 大資料學習路線(自己制定,從零開始)大資料
- 【python爬蟲實戰】使用Selenium webdriver採集山東招考資料Python爬蟲Web
- Python網路爬蟲資料採集實戰:Requests和Re庫Python爬蟲
- 從零開始學Java,如何拿高工資?Java
- 利用python爬取丁香醫生上新型肺炎資料,並下載到本地,附帶經緯度資訊Python
- 從零開始學習laravelLaravel
- 從零開始學習KafkaKafka
- 【ROS】從零開始學ROSROS
- 從零開始學 Spring BootSpring Boot
- 從零開始學正則