SkillAgentSearch skills...

Buptclass

A nodejs-spider that gets the infomation of empty classrooms in BUPT

Install / Use

/learn @BUPT-HJM/Buptclass
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

buptclass-spider

这是一个爬取北邮本部空闲自习室的爬虫。 欢迎fork、star~ 欢迎pull request~

个人博客爬虫介绍:http://bupt-hjm.github.io/2016/05/29/buptclass/

2016-06-02 代码更新

  • 新增spider2.js
  • 新增两个函数处理合并原先数据,优化spider1.js生成的数据冗余量过大的问题
  • 使用方法没有变化,支持的网站同步更新展现形式

原本

<img src="http://7xp9v5.com1.z0.glb.clouddn.com/json1.PNG" alt=""> #### 优化后 <img src="http://7xp9v5.com1.z0.glb.clouddn.com/json2.PNG" alt="">

使用方法:

第一步:安装依赖与所需支持

git clone后安装依赖npm install 由于涉及到node-tesseractgm,验证码识别与图像处理,还需要本地安装

下面是我整理的关于它们的链接

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

报这个错可以参看https://github.com/Automattic/mongoose/issues/2285 可以不予理会

{ [Error: socket hang up] code: 'ECONNRESET', response: undefined }

程序到识别出验证码后,没有出现登录成功,程序不运行,可等待一会即会报上面这个错,检查学号和密码是否输入正确


后期优化:

  • 优化代码风格,减少代码冗余
  • 更优雅地解决异步回调问题

关于该爬虫支持的网站

网站访问地址:

http://buptclass.com/

网站截图(pc端效果):

<img src="http://7xp9v5.com1.z0.glb.clouddn.com/FireShot%20Capture%2014%20-%20%E5%8C%97%E9%82%AE%E6%9C%AC%E9%83%A8%E8%87%AA%E4%B9%A0%E5%AE%A4%20-%20http___buptclass.com_.png" alt="">

网站截图(手机端效果):

<img src="http://7xp9v5.com1.z0.glb.clouddn.com/mobile.PNG" alt="">

Related Skills

View on GitHub
GitHub Stars34
CategoryDevelopment
Updated6mo ago
Forks9

Languages

JavaScript

Security Score

72/100

Audited on Sep 10, 2025

No findings