1. 需要抓取的不同資料有很多,會同時開啟無頭瀏覽器去抓取,然後獲取到資料後又無厘頭的一股腦擠進資料庫
2. 無法保證同一時刻需要的資料只有乙個操作在進行
因為使用的是node,所以盡可能的尋找node支援的分布式框架node版的
zookeeper
node版的
rabbitmq
發布者,給書旗起乙個標識為 37 (channel_id),然後是要抓取書的書籍id(channel_book_id)
// 我們以介面的形式接收爬取的引數
// 簡易版請求(除了接收引數不做任何處理) -> 發布者
// 抓取時需要的引數
if (!req.query.channel_id && !req.query.channel_book_id) )
return null;
} // 發布者
// 連線rabbitmq
amqp.connect('amqp:').then(function(conn) )
// 連線並保持
消費者,接收到發布者傳遞過來的資料建立訊息佇列,然後用zookeeper建立臨時節點以保持佇列依次執行
var zookeeper = require('node-zookeeper-client');
// 根據標識動態引入js檔案
function modulecustomize(channel_id) .js`)}
var client = zookeeper.createclient('127.0.0.1:2181');
async function sleep(second) , second)
})}// 連線_zookeeper
client.once('connected', function () );
// 預存為1
ok = ok.then(function() );
ok = ok.then(function() );
});return ok;
// rabbitmq 處理
function dowork(msg) `
// 連線_zookeeper 判斷是否存在
client.exists(path, function (error, stat)
if (stat) else else
console.log('node is deleted.');
});}
});}
console.log('任務執行完畢')
});}
});}).catch(console.warn);
});
client.connect();
命令列啟動rab_consumer.js,{} 裡面就是我們接收到訊息佇列裡面的資料了
爬蟲 爬蟲初識
網路爬蟲 又被稱為網頁蜘蛛,網路機械人 是一種按照一定的規則,自動地抓取全球資訊網資訊的程式或者指令碼,通俗的講就是通過程式去獲取web頁面上自己想要的資料,也就是自動抓取資料。發起請求 通過http庫向目標站點發起請求,也就是傳送乙個request,請求可以包含額外的header等資訊,等待伺服器...
爬蟲 07 反爬蟲
回到頂部 爬蟲和反爬蟲基本概念 爬蟲 自動獲取 資料的程式,關鍵是批量的獲取。反爬蟲 使用技術手段防止爬蟲程式的方法。誤傷 反爬蟲技術將普通使用者識別為爬蟲,如果誤傷過高,效果再高也不能用。成本 反爬蟲需要的人力和機器成本。攔截 成功攔截爬蟲,一般攔截率越高,誤傷率越高。反爬蟲的目的 初級爬蟲 簡單...
爬蟲(一)初識爬蟲
網路爬蟲 又被稱為網頁蜘蛛,網路機械人 就是模擬瀏覽器傳送網路請求,接收請求響應,一種按照一定的規則,自動地抓取網際網路資訊的程式。原則上,只要是瀏覽器 客戶端 能做的事情,爬蟲都能夠做 爬蟲的工作流程 robots協議 通過robots協議告訴搜尋引擎哪些頁面可以抓取,哪些頁面不能抓取,但它僅僅是...