爬蟲開源專案及其思想

fuck_prometheus發表於2016-08-24
https://github.com/JFanZhao/spider
https://github.com/canghaiyisu666/spider

使用java+httpclient+httpcleaner,多執行緒、分散式爬去電商網站商品資訊,資料儲存在hbase上,並使用solr對商品建立索引,使用redis佇列儲存一個共享的url倉庫;使用zookeeper對爬蟲節點生命週期進行監視等。

https://github.com/gsh199449/DistributeCrawler

基於Map/Reduce爬蟲,可抽取各大新聞網站的新聞正文並進行分類和聚類
這是一個基於Hadoop的分散式爬蟲,目前只支援抓取騰訊新聞中心的新聞內容。支援外掛機制,可以通過實現Extractor介面自己編寫外掛已實現對於各種網站的抓取和內容提取。

https://github.com/decaywood/XueQiuSuperSpider
雪球網或者東方財富或者同花順目前已經提供了很多種股票篩選方式,但是篩選方式是根據個人操作 風格來定義的,三個網站有限的篩選方式顯然不能滿足廣大股民、程式設計師特別是資料分析控的要求, 基於此,本人設計了一個可以任意擴充,實現任意資料蒐集與分析的爬蟲程式,滿足股友們的需要, 只要你能想到的資料蒐集與分析策略它都能實現。(專案嚴重依賴JDK8新特性,偏重函數語言程式設計思想,不熟悉的已備好教程以及例子: Java8 簡明教程)


https://git.oschina.net/sixliu/spider
整個分散式基於springboot,zookeeper,redis,netty,mysql等基礎開源框架實現。 1.springboot作為整個專案的管理容器, 2.zookeeper作為整個叢集幾點註冊和發現, 3.redis用來作為叢集快取和工作空間實現, 由於redis支援rpush lpop佇列操作,然後lpop,rpush 運算元據key,hset,hget操作實際儲存資料來實現redis佇列ack,資料實際處理完後再hdell資料 4.netty用來作為節點間通訊, 5.mysql用儲存持久化資料. 專案僅僅為一個可執行jar. 下載器:支援okhttp,phantomjs,chrome3種下載方式. 提供了登入,驗證碼識別介面, 實現了根據站點code切換代理Ip(基於redis實現的http代理管理佇列) 解析: 支援普通cssQuery 抽取元素, 表格單條資料抽取,表格多條資料抽取,json抽取,正則抽取。 支援自定義解析結果。 抽取結果儲存:支援資料庫,http傳送 ,檔案等儲存方式 

相關文章