第六章 數據地圖

字數:3431   加入書籤

A+A-


    男孩回過神來,重新整理思路。

    既然是失蹤案,那就換一個出發點,從失蹤抓起。

    他打開新聞站,發現密密麻麻早已鋪滿了各種各樣失蹤的新聞和求助帖子。

    「城西兩名高中生已經失聯三天,最後一次出現是放學結伴去的遊戲廳,家長已將周邊遊戲廳搜遍,仍未現身。」

    「城東女子趙某兩天前出門夜跑後再也沒回家,警方根據其男友提供的常用夜跑路線展開搜索,未見蹤跡。」

    「19歲女孩夜間上出租車後失蹤,出租車的gps信號也在案發當晚離奇消失,目前仍在進一步搜索中。」

    「14歲的初中女孩小韓,四天前放學回家途中走丟。」

    「錢唐市警方提示,最近城西和城南地區犯罪分子猖獗,夜間出行要結伴,注意安全。」

    他皺著眉頭一篇一篇看著,突然露出興奮的笑,快速在白紙上畫出路徑圖。

    忍住衝動的喜悅,首先打開爬蟲軟件,軟件圖標雖然是個小蜘蛛,不過倒也沒那麽令人心慌,不過是順藤摸瓜抓取信息的可愛小工具而已。

    什麽?會員到期了?

    男孩露出不滿,一個月都得一百多元的會員費,不能就此放過,可是自己口袋裏也就幾百塊零花錢了都是省吃儉用拚出來的,如果跟母親要錢買軟件總覺得很奇怪吧。

    既然沒錢,那就自己做一個。男孩咬著牙用力點頭,舒展手指,躍躍欲試。

    開源框架很多,短板在主機的配置和調試上,各種版本各種語言的爬蟲都有,冗餘是最大的敵人,尤其是要裝在穀文承那個可憐巴巴的遠程主機,小水管的帶寬和小鬆鼠心髒一樣的配置。

    他苦笑了一下,對更適合爬蟲的python自然是不熟悉的,他在開源網站上找到熟悉的php版,作者是一個印度孩子,不同的主機操作係統,遠程安裝的命令都不一樣,好在開源網站支持遠程克隆,一瞬間部署完畢。

    奇怪,硬是沒起作用?果然是係統不對,為了用torch開發人工智障男孩已經忍痛洗成烏班圖了,如今又要回到php可不又得換回centos才好麽,男孩捶了自己胸口一下,將那些被同學稱為人工智障的詩篇一一備份存好,重裝主機。

    20分鍾過去,爬蟲部署完畢,男孩測試了一個本地新聞站,路徑設置是比較困難的,不同網站的頁麵結構有所不同,有些標題的class屬性都是亂寫的,男孩一邊忍著怒氣一邊一個一個調整好,過了半個小時,三個新聞站已經爬取完畢,最近7天隻要帶著失蹤兩字的新聞全都被抓下來。

    趁熱打鐵,他又添加了十個本地新聞站和兩個本地論壇,兩三個網站的反爬蟲機製很厲害,不到一分鍾就被禁止訪問了,他苦笑了一聲聳了聳肩,無論如何已經有上千條新聞進來了。

    新聞抓取,達成!男孩帶著明亮的眼眸笑著,帶著欣喜回望了身後熟睡的女孩們,又緊握拳頭再次振作。

    接下來是提取工作,首先是去重,用distinct命令就可以。去重之後剩下700多條新聞和帖子,男孩倒吸一口涼氣。

    短短幾天,全市竟然發生了700多起失蹤案!

    提取工作最難的一部分是地點識別,男孩沒有字典,如果是有物流公司的數據就好了——思忖片刻,問題很快解決。

    他打開無極公司的地圖網頁,找到api接口,用網頁提取的方式將錢唐市的所有街道小區名、路名、飯館名、橋名、河名全部提取下來,畢竟工作量不大,於是他連公共廁所也沒有放過。導入新的數據表後,自製的字典完成。

    借著字典和熟悉的命令,幾十萬字的新聞在5分鍾化為700個零碎地名的文件,再次去重之後,隻剩下500多個地名。

    早知道剛剛順便把坐標也提取下來了,男孩挑了挑漫不經心的眉毛,喝了一口茶舒展身體,靠著椅背略微休息一會回到屏幕前,重新調用無極公司的api。

    這才發現無極公司早就提供了數據地圖的功能,作為測試版本還是免費的,男孩露出欣喜的笑容,他重新下載好地名的數據包,再次敲擊好命令之後,500多個地名後麵紛紛出現對應的gps坐標。

    從開始到現在一共過去了兩個小時,男孩望著屏幕上密密麻麻標著紅點的地圖露出興奮的笑,如此短的時間內取得如此進展真是歎為觀止!這是過去以往都沒有達到的推進速度。

    看著屏幕,穀文承喜悅的嘴巴逐漸大張,滿臉驚恐。

    紅點分布一共呈現出多個大圓,大多分布在城南城西,離自己最近的圓,其圓心是自己家南側兩個街區的十字路口,半徑在兩公裏左右,無論是學校、自己家都被覆蓋!

    最後是數據擬合,不管怎麽樣數據都是符合冪律分布的,男孩首先刪去除了其他地方的數據,隻剩下自己所在片區的一個圓,他將噪點中心都去掉,隻剩下最外圍的點狀分布,拚成一個圓環的輪廓,圓形擬合可以使用最小二乘法,他還沒用過這樣的公式,文承皺起眉頭。

    他快速搜索到最小二乘法的原理,花了十幾分鍾快速啃完,接著來到開源代碼網站,卻找不到php版本的,有的是c語言版本,他還不是很熟,不過原理是相通的,更何況直接應用就可以,根本不需要二次開發。

    他深吸一口氣,下載了matlab之後將數據重新導入,一個清脆的回車鍵,擬合結束!

    文承看著屏幕上一個完美的圓形滿意地笑起來,揉了揉眼睛,將數據再次導入地圖。

    地圖上的圓心名叫遠拓大廈,

    穀文承突然想起來,那是一個爛尾樓。

    將結果保存後關了電腦,忍住將答案告訴熟睡女孩的衝動,文承來到房門外悄悄關了門,來到沙發上躺下。

    他看了看手機,已是淩晨五點,即便是一個小時,還是夠睡的。

    興奮的情緒似乎是小鬼的舞蹈一樣糾纏在腦中,穀文承無論怎麽努力閉上眼睛都沉不下心,他在手機上胡亂翻著,突然翻到了前陣子剛拍下的一個女孩的照片,一下子就平靜下來,他就那樣靜靜地靜靜地看著,心緒逐漸平穩,困意排山倒海般湧來。