莆田系醫院清洗日記(科普小文)
引子
一夜間,百度和莆田系的話題院佔領了俺的朋友圈。
直到這幾天我才幡然覺悟,從小的性病廣告,到公交車站的整容廣告,到各種一看就偽科學的網站廣告,原來師出一派。
本人不善口誅筆伐和道德說教,但好歹也被醫院坑過一次,花了800做了個其實應該免費的婚檢,自此才知道『軍』字打頭的醫院未必是個好鳥。
昨天當我在github上看到了這個項目: open-power-workgroup/Hospital, 心頭一震, 原來碼農也能為這件事做點什麼。
github是一個分散式代碼託管倉庫,這麼說有點裝逼,簡言之是大家可以在這裡進行多人協作,比如我修改了一個片段,他修改了一個片段,github可以幫著做合併。
現在github已經被玩壞了,比如這個找醫院的項目,至今有57個人參與其中,3000多個star()。
清洗數據
問題來了,目前只有500個野雞醫院的名字,你要取得這500個醫院的電話、省份、 城市、地區、地址供研究,你會怎麼做,是一個個去搜索嗎?
500個可以手動,如果是5000個呢,每次找到網站並刷出來需要15s,複製黏貼需要3s, 5個欄位需要15s,加起來一條記錄需要30s,5000條數據需要你一刻不停地高效率干一天半。
碼農就是暖男,暖男讓你的工作更省心。
如果我們用手機打開百度地圖或者高德地圖,隨手輸入一個地址,上海交大、上海交通大學、東川路800號,或在上海的視圖搜索交大、交通大學,基本上你能找得到這個地方。
雖然一個地址不是很標準,我們還是能找到標準的信息,有時候還能跳個小框出來,告訴你這個地方的聯繫電話是多少。
代碼片段
如果我們打開chrome,然後打開控制台(windows用戶按f12,mac用戶 alt + command + r),然後點擊network。
然後在搜索框搜索『上海交通大學』,打開控制台,你可以找到一條類似於這樣的請求:
這個url有一段比較關鍵
keywords=%E4%B8%8A%E6%B5%B7%E4%BA%A4%E9%80%9A%E5%A4%A7%E5%AD%A6
很多字元是不能存在於url中的,所以瀏覽器會自動轉化,各種語言應該都有這種轉化的辦法,比如javascript提供了2個函數做轉換,我們可以在console里對這堆亂碼進行試驗,我們用encodeURI函數把中文轉亂碼,又用decodeURI轉換成中文:
因此,如果我們有一堆可疑醫院的列表,一條條告訴程序,程序把剛才url中key後面的亂碼用下面的函數處理替換,就可以開始搜集信息了。
我們可以看看這個介面包含的信息:
隨意下載
爬蟲的細節就先略過了,如果調用太頻繁,有時候會被高德封掉,最簡單的方法可疑讓任務排個隊,每次完了休息一小會。
這份數據大家可以免費地使用,也提供了json和csv的格式可供下載,因為初始數據修改過, 目前還沒有合併到主項目中。
https://github.com/zhouningyi/BlackheartedHospital所有的數據都為網友採集,並不為準,大家可以利用互聯網,開始進一步的調查。
謝謝每天我們用來導航的地圖服務,利用這個,我們批量清洗出了可疑醫院的詳細信息。
可疑醫院地圖
對於這份數據,順便做了一份簡單的熱力圖,可以點擊每個熱點看詳細信息:
http://hotu.co/hospital/
貼些sample:
推薦閱讀:
※莆田有產真鞋嗎?
※現在 Nike 與新百倫的莆田高仿鞋是否可以以假亂真?
※如何應對家在莆田忠門的逼婚情況?
※怎麼看待莆田人承包了90%的寺廟?
※在莆田學院就讀是怎麼樣的體驗?