爬虫的原理其实很简单,就是模拟访问一个网页,在网页中寻找你需要的信息并进行保存
- 今天的目标是某报名网站,因为我报了某个岗位,想知道竞争的人有多少,所以观察网站后发现,他们的报名简历直接存储,修改url就可以访问其他人的页面,这就代表我可以通过爬虫,从几万份简历中筛选出和我同一个岗位的对手
- 因为对JS比较熟悉,所以选用了node来进行爬取
- 用到的库有
superagent
,async
superagent
可以理解为服务端的ajax,async
用来控制并发数,以免请求过多,导致禁止访问 - 首先需要一个数组,经过手动比对,今年的简历从30000左右开始,48000停止,所以
let urls = []
for(let i = 30000;i<47715;i++){
urls.push('http://xxxxxxxxxxxxx/'+i)
}
- 然后通过
async
来控制并发数
async.mapLimit(urls,20,function(url,callback){
superagent.get(url).set(header).end(function(err,res){
if(res){check(res.text,url)}
callback(null)
})
})
function check(res,url){
if('这里写自己的匹配内容,如岗位匹配'){
console.log(url)
}