使用爬蟲抓投資數據是否是一個高效的方式?
如果使用爬蟲去抓行業信息、融資信息、產品評論等,用來研究市場規模、投資數據分析,是否是一個高效的方式?比如我想去抓下2014年全球所有「VR虛擬現實」的投融資信息,是個什麼運算級別?需要多少時間?編寫難度是什麼情況?
你只抓一個行業的話沒必要用crawler,很多投研都是靠公開的資訊網站做初步信息收集的。投資潮 金融界 crunchbase 掃一遍VR方面的投資信息應該就有數了。
當然,想深入了解這個行業還是要多找業內人士請客吃飯聊天喝茶呀。使用爬蟲抓投資數據是一個有效的方式,但是建議控制數據類型的維度。像融資信息、行業數據這些基本就夠了,如果要上升到評論等語料分析,一方面算力有限(除非谷歌級別的公司),另一方面衡量維度太多沒法量化,不利於分析。
另外同意 @王喆 的觀點,多和這個行業20%的公司的人聊天,你基本上就能掌握這個行業80%的市場情況,關鍵人物法則啊!
作為IT桔子的創始人,投資數據是我們非常重要的一個信息模塊,爬蟲抓取是方式之一,但很難成為最重要的方式:
1)抓取最重要的是數據來源,目前國內可以系統利用的數據源不太多,大概有清科、投中、一些媒體、還有各個投資機構的官網。我們自己在做 IT桔子官方網站 (IT桔子投資資料庫)的過程中,會用到這些數據來源,大概可以帶來50%的投資線索
2)如果要針對特定領域,如 樓主說到的「VR虛擬現實」的投資信息,則更加難了,取決於投資數據+行業tag關鍵詞的匹配關係,從我們自己做投資資料庫的經驗來看,挺難的。這需要比較精細化的數據運作,目前IT桔子的投資資料庫也僅僅覆蓋和開放了一些垂直大行業的投資數據,比如教育、互聯網金融、O2O、旅遊等,對於VR虛擬現實雖然是某些公司的行業tag,但因為樣本覆蓋度的關係,可能還很難做的那麼精細
3)相比國內公司的投資資料庫,國外的投資資料庫相對健全一些,比如Crunchbase、VentureBeat、Mattermark等,是可以通過 VR虛擬現實的tag來進行一些檢索和數據的,不過可能有些數據需要付費購買了爬蟲這個東西可以理解為用機器去逐個網頁閱讀,然後記錄摘要或者你想要的信息。當規模大到一定程度就可以理解為搜索引擎了。從這個本質推開去說,速度比人快,但是也是有上線的。
建議樓主可以去了解python的scrapy框架。自己做一個小例子試試看就知道了。
樓主學會用scrapy的分散式和資料庫存儲信息之後,只要設計好各個結構,然後把爬蟲的入口設置為baidu和google的對應關鍵詞頁面基本就可以了。
如果你想收錄不在google上的信息。。。那基本就不是一個team能妥善完成的了。
爬數據簡單,但要把自然語言描述的非結構化的數據轉換成結構化的,恐怕不那麼容易。
如果知道信息所在的網站,那麼信息抓取工作就簡單了很多,問題就集中在了是否需要高效率抓取某個網站的信息了。
如果不知道信息所在的網站,估計麻煩些了,臨時想到的方法是人肉通過搜索引擎來搜信息,確定信息所在的網站,然後分析網頁進行抓取。
利益相關:從事爬蟲與文本結構化工作
先下結論,爬蟲在大多情況下都不是用來做後續研究的最佳方案。
用於研究或者建模的數據一定是整潔的數據,充滿雜質的臟數據幾乎研究不出什麼結果;整潔主要體現在三個方面:結構化、完整性和持續性;一個數據源所能提供的數據欄位越是高度結構化,欄位完整,時間跨度長,其研究價值越高。
數據獲取方式無非是自己解決或者由第三方提供;題主的情況明顯是不具備自有信源的,那麼就只能尋找可靠的信源抓取或者從第三方購買了。
爬蟲抓取的問題主要在以下幾個方面:
1. 前期的技術投入和後期維護;寫出特定信源的爬蟲很簡單,維護大量爬蟲持續可靠輸出數據卻很難。
2. 抓取的欄位只有原始信息,還需要額外學習其它技術用於進一步的結構化和歸納分析,例如:自然語言處理、SVM以及分析技術。
3. 爬蟲在持續性上有先天缺陷,大部分的站點都不會提供完整的歷史數據,特別是類似交易數據和評論數據等高頻的信息,這個需要時間積累。
如果能找到靠譜的第三方數據源,數據質量能滿足業務需求,而且價格還能接受,那麼就不要折騰了,乖乖掏錢吧。
但是,目前的數據市場很難找到完全符合要求的數據源,所以爬蟲在很多時候是一個不得已而為之的方案。具體到題主的問題,如果作為驗證性的研究,對數據的時效性與穩定性要求並不高,這降低了使用爬蟲獲取的難度。具體實施分以下幾步:
首先,尋找一個了解行業的人花一兩天歸納出信源,具體到列表頁和欄位要求;
然後,尋找一個成熟的框架自己折騰或者找個外包,根據信源數量與難度,時間不好預估(一周?);
最後人工尋找規則進一步結構化和去除噪音。
整個過程除了抓取可能佔用帶寬和需要長一點時間外,整體運算量並不大,單台伺服器甚至個人主機都能解決。但是如果需要產品化,難度就提升不只一個數量級了。
答主所在公司目前的項目就是基於爬蟲與自然語言處理建立的,我們在數據上積累了10年的互聯網公開信息;有完善的爬蟲開發與管理,自然語言處理與結構化,量化模型,推薦引擎等技術積累。產品名叫 布爾財經 ,致力於幫助理性投資人決策,如果你感興趣的話,可以下載或關注支持!
下載布爾財經APP,獲取更多炒股工具:
http://www.taikorcdn.com/news/jumpapp.html (二維碼自動識別)
關注布爾財經公眾號,獲取更多財經資訊:
http://weixin.qq.com/r/WD_9paHE3vyhreXG92pK (二維碼自動識別)
其實使用爬蟲算是一個高效的方式,主要是看和什麼爬蟲團隊合作。有的團隊只是將數據抓取下來直接一股腦丟給你,讓你自己處理。這就比較頭大了。我了解的有些團隊不僅僅開發爬蟲後將數據抓取下來,還會對數據進行清洗,洗掉沒用的數據。最終給到客戶手上的數據是可以直接使用的。甚至通過數據還能幫客戶做一些輿情分析。這些都是可以高效實現的,我知道的蜘了就是這麼一個團隊。之前他們有抓過商圈方面的數據,然後通過數據對商圈做了分析。對方客戶也十分滿意。你們可以去看看蜘了的官網,了解了解也是沒有壞處的。他們的網址是http://w1.zmatrix.cn
這個我去年嘗試過……自己查了代碼,找了外包團隊也交給自家quant試了試,最後發現如果數據量大,數據源雜,抓取來的數據非常不用戶友好,尤其是每一個都要分情況處理源數據……本身格式統一或者數據量小就不提了,意義不大。花了不少人工時還是覺得不比原來更有效率。
題主發現有性價比夠高的好方法麻煩知會我一聲。
推薦閱讀:
※如何用爬蟲抓取股市數據並生成分析報表 ?
※一個人一生要在紅燈前停留多久?
※演算法之路該如何學習?
※你壓力最大的時候是什麼時候,怎麼度過的?