Python即時網路爬蟲專案啟動說明
阿新 • • 發佈:2020-10-09
作為酷愛程式設計的老程式設計師,實在按耐不下這個衝動,Python真的是太火了,不斷撩撥我的心。
我是對Python存有戒備之心的,想當年我基於Drupal做的系統,使用php語言,當語言升級了,推翻了老版本很多東西,不得不花費很多時間和精力去移植和升級,至今還有一些隱藏在某處的程式碼埋著雷。我估計Python也避免不了這個問題(其實這種聲音已經不少,比如Python 3 正在毀滅 Python)。
但是,我還是啟動了這個Python即時網路爬蟲專案。我用C++、Java和Javascript編寫爬蟲相關程式超過10年,要追求高效能,非C++莫屬,同時有完善的標準體系,讓你和你的系統十分自信,只要充分測試,就能按照預期的方式執行。在GooSeeker專案中,我們不斷向一個方向努力——“
在系統層面:“即時”代表快速部署資料應用系統
在資料流層面:“即時”代表採集資料到資料使用是即時的,單個數據物件可以獨自全流程處理,不用等待一批存入資料庫,然後從資料庫中拿出來用
“即時”另一個含義就是網路爬蟲是一個嵌入模組,跟整個資訊處理系統整合在一起
一眾程式設計師都在玩Python網路爬蟲,我擬定了一個計劃:建立一個模組化更強的軟體部件,專門解決最耗費精力的內容提取問題(有人總結說大資料和資料分析整個鏈條上,資料準備佔了80%工作量,我們不妨延展一下,網路資料抓取的工作量有80%是在為各種網站的各種資料結構編寫抓取規則)。
我把他想象成一個小機器(見上圖),輸入的是原始網頁,輸出的是提取出來的結構化的內容,這個小機器還有一個可替換部件:將輸入轉化成輸出結構的一個指令塊,我們成為“提取器”,讓大家不再為除錯正則表示式或者XPath而苦惱。
這是一個開放的專案,兩年前啟動了一個手機上的即時網路爬蟲專案,因為是給某商業集團開發的,所以不便開放,同樣的思想和方法將開放到這個專案中,而且用當前最熱的python來做,希望大家能共同參與。在執行過程中,我們會開放所有資料和成果、已經遇到的坑。
近期做的實驗是
轉載於:https://blog.51cto.com/gooseeker/1772738