这是一个爬取北邮本部空闲自习室的爬虫。 欢迎fork、star~ 欢迎pull request~
- 新增
spider2.js
- 新增两个函数处理合并原先数据,优化
spider1.js
生成的数据冗余量过大的问题 - 使用方法没有变化,支持的网站同步更新展现形式
git clone
后安装依赖npm install
由于涉及到node-tesseract
和gm
,验证码识别与图像处理,还需要本地安装
- node-tesseract
- gm,里有官网链接,安装上官网即可
- tesseract安装包
下面是我整理的关于它们的链接
Tesseract 开源的 OCR 识别工具
graphicsmagick 图像处理工具
如果不打算用mongodb,可以把spider.js里的相关mongo删去或者不予理会(会抛出error不影响程序运行写入json)
下列配置在spider.js
中
//爬虫初始配置(教务系统登录的学号和密码必填)
var url="http://jwxt.bupt.edu.cn";//登录的链接
var db = monk('localhost/byr');//连接本地数据库
var sno = "*********";//此处输入学号
var password = "*********";//此处输入密码
//时间配置
var rule = new schedule.RecurrenceRule();
rule.hour = 10;
rule.minute = 0;
//(默认每天十点)
//时间配置也可不予理会,node一次程序会一开始就打开程序运行一次,之后才是看schedule
node spider.js
{ [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' }
js-bson: Failed to load c++ bson extension, using pure JS version
报这个错可以参看Automattic/mongoose#2285 可以不予理会
{ [Error: socket hang up] code: 'ECONNRESET', response: undefined }
程序到识别出验证码后,没有出现登录成功,程序不运行,可等待一会即会报上面这个错,检查学号和密码是否输入正确
- 优化代码风格,减少代码冗余
- 更优雅地解决异步回调问题