实现一个简单的爬虫 基于 Node.js
用到的模块
http
mongodb
步骤:
1. 先指定一个 URL,将该URL放入队列 urls
2. 取出队列中的第一个 URL
3. 搜索该URL中的所有 urls
4. 将搜索到的 urls 合并进 urls 队列,将URL放入mongodb数据库
5. 跳到第二步
已知问题:
1. 搜索到的URL没有进行格式的验证
2. 匹配URL的正则可能会不严谨
3. 没有把已经存在的URL排除掉
4. 存放 url 的队列,因为是在内存中,所以有溢出的可能,且非常可能
5. 有些链接是相对链接,需要转换成绝对链接
结果:
能够存到数据库 1100
多条数据,但是有很多是 404 或其他错误
可以参考的文章:
基于网络爬虫的有效URL缓存