數據分析模塊是股神1.o的大腦,除了這個大腦之外它還需要其他幾個關鍵性模塊。既然做大數據分析,那麼這個數據來源就需要有一個功能模塊來解決,它專門負責數據的收集。
這個數據收集模塊就像是股神的手腳,負責從網絡上收集對應的數據,這個模塊一個關鍵的組成部分就是爬蟲。
國際互聯網展到今天,變成了體系龐雜内容浩繁的網狀系統,這個系統上的信息節點規模數以十億計,這些節點可能包括台式機、筆記本、服務器、大規模群組、智能手機、平闆、智能導航終端、各類信息采集終端、信息射終端等等等等。
隻要能夠鍊接上互聯網,能夠與互聯網進行數據交互的,都可以視為一個信息節點,比如遍布城市的各類監控探頭,各類通訊基站,嚴格來說都屬于節點之一。
這些節點為互聯網提供的數據類型也各種各樣,有文字,有數據,有圖表,有文檔,有視頻,有音頻,有數據庫;它們的表現形式各式各樣,有通用格式,有專用格式;所有這些信息加在一起,共同組成了沉積在國際互聯網中浩瀚的數據海洋。
這個數據海洋是動态的,它時刻處在在運動和更新之中,就好像各種洋流和浪濤一樣,永不停息。
整個數據海洋分散在無數個信息節點之中,這些信息節點被各種通訊協議鍊接起來,讓它們可以相互通訊。各種通訊協議中,有我們最熟悉的一種,就是uRL,也就是我們總會遇到的網站鍊接。
如果将整個數據海洋比喻成我們的地球,那麼每個數據節點就是一個房間,而節點内的數據信息就是我們人類,所有的信息節點組合起來,構成了地球上的無數個城市,無數個大廈,無數個房屋。
各種各類的數據鍊接模式,就是承載人們出行的道路,而uRL不過是道路的一種,算是各個城市之間,各個主要的商業大廈之間互通的鐵路和公路。它主要出現在公共服務器之間,就是說隻要有了uRL,理論上來說它對所有數據訪客都是開放的,任何人都可以抵達這個服務器,隻不過它有沒有門禁就是另外一回事了。
既然有公共空間,那相對應的肯定有非公共空間,除了uRL,還有很多鍊接模式,這些鍊接模式裡,信息節點就像是私人住宅或者軍事禁區一樣,它并不是開放給公衆的,雖然它同樣存在于數據海洋中,但你是無法随便訪問的。
當面對如此龐大浩繁的數據海洋時就存在一個問題了,世界這麼大,我該如何找到目标,比如我想找感冒藥相關的數據信息,我該怎麼辦?
正是這種需求催生了搜索引擎,搜索引擎可以幫助你快找到目标,它就像一個找路指南一樣,你隻要告訴它想去哪,這個目的地大概什麼特征,它就會幫助你找到無數個可能合适的目的地,并且把對方的uRL提供給你。
搜索引擎每天的訪問量都是海量的,每一秒同時并的搜索請求都是數以十萬計的,在這麼多請求面前,如果來一個請求它搜一遍互聯網,這肯定是不現實的,不僅度慢效率低,而且僅僅這類搜索請求就足讓整個國際互聯網陷入擁堵狀态。
為了解決這個問題,搜索引擎就有了它特有的工作模式,它先盡可能多的将數據海洋裡的信息全部找出來,然後存儲在自己的服務器群組中,一旦有了搜索請求,它隻要在自己的服務器裡進行檢索就行了。
而幫助搜索引擎完成找這個動作的就是爬蟲。
因為國際互聯網中的信息節點都是相互關聯的,是網狀聯系的,每個節點上都會有很多個uRL。所以爬蟲的工作模式就是遍曆,當它開始工作時,它會以一個信息節點為起點,然後挨個訪尋與這個節點相連的所有節點,當下一層節點還有uRL鍊接時,它就不斷訪問下去,直到将所有uRL遍曆一次才算完。
因為整個互聯網的網狀結構,使它具備網狀互通性,所以等爬蟲将所有uRL遍曆了,一般來說它就已經将整個國際互聯網所有鍊接全部訪問了一遍,這注定是一個比環球旅行更加令人歎為觀止的行為。
而莫回既然想弄這個股神1.o,他想要搜集海量數據,那麼他要做的事情其實和搜索引擎要做的事情很像,隻不過搜索引擎是所有信息都要搜集,而莫回隻需要關注股票相關的信息就行了。
這樣的話,莫回的爬蟲就必須在具備遍曆能力的同時,還得具備篩選的能力。
遍曆的能力解釋起來很簡單,就是你不能走回頭路和冤枉路,遊曆過的uRL就犯不着再走第二遍了。一條新的uRL被現,先需要判斷這條uRL是否已經走過,其次需要判斷這條uRL被安排在什麼次序去走。一個是重複性問題,一個是最優化問題,這就需要獨特的遍曆算法來解決。
而篩選功能就是通用爬蟲和專用爬蟲之間的主要區别,莫回的爬蟲需要具備一定的識别能力,能夠辨别某個uRL中的内容是否具備相關性,如果不具備那麼就跳過,如果具備就将其中的内容複制回來待用。
這個篩選功能同樣需要一大堆的算法來解決,不僅如此,它還需要具備自然語言處理能力,就是說它得具備對語言文字的理解和解析的能力,它得能夠識别哪些文字内容是與股票相關的,哪些是無用的。
僅僅識别文字還是不夠的,它還得能夠識别其他格式的數據,比如它得能夠識别圖案,像是股票相關的各種k線圖、柱狀圖之類的,爬蟲必須能夠将其與風景畫或者自拍照區别開。
除了圖片,其他的像是視頻、音頻、各類數據庫之類的,爬蟲都需要一一辨别出來,确定是否屬于相關内容。
這裡面将會有無數個技術難題需要解決,如果這個工作讓莫回一個人來完成,幾乎是不可想象的。