Go 爬蟲軟件,Pholcus 0.7.5 發布
Pholcus 0.7.5 發布,更新如下:
大量功能優化:
一、規則模塊更新:
1. 封裝Spider與Response為上下文Context,大大簡化規則語法;
2. 支持從Context獲取上一次Request,并可在修改后作為新請求加入隊列,從而節約內存(如有依賴Request的Temp值的Output操作,則應先Output再修改Request);
3. 自動為每條未設置Referer的請求補填Referer;
4. Keyword作為命名空間時,如過長則取其hash值;
4. 更新公共方法集。
二、調度器更新:
1. 去除SrcManager接口,降低內部消耗;
2. 為每個隊列增加讀寫鎖,消除并發隱患;
4. 增加RegSpider方法,提升調度效率。
三、輸出模塊更新:
1. 優化加強mysql操作,并解決一個字段長度的bug;
2. 優化mongodb操作,降低內存消耗;
3. 修復數據庫鏈接失敗后panic的bug。
四、去重功能更新:
1. 樣本的保存位置與輸出方式保持一致(file/mongodb/mysql);
2. 每次采集時,若改變是否繼承歷史去重的狀態,則更新去重樣本;
3. 優化讀寫方法,提升性能。
五、Surfer下載器更新:
1. 修復surf下載內核Header賦值的bug,完美支持模擬登錄、隨機User-Agent等;
2. phantom下載內核,在返回的響應流中添加請求信息。
(更新方法:go get -u github.com/henrylee2cn/surfer)
六、其他更新:
1. 提高暫停/停止功能在大批量任務并發情況下的靈敏性;
2. 修復運行模式熱切換的小bug,并優化了切換速度;
3. Crwal接口的內部資源計數改用原子操作,提高并發安全性;
4. 操作界面的規則列表,實現按首字母排序。
下載頁面:0.7.5
Pholcus(幽靈蛛)是一款純Go語言編寫的重量級爬蟲軟件,清新的GUI界面,優雅的爬蟲規則、可控的高并發、任意的批量任務、多種輸出方式、大量Demo,支持橫縱向兩種抓取模式,支持模擬登錄和任務取消等,并且考慮了支持分布式布局。