基于Node.js的模拟登录操作

本文介绍了如何使用Node.js进行模拟登录操作,以验证学生身份为例,详细阐述了利用http模块获取页面数据、cheerio模块解析DOM、iconv处理乱码的过程,并展示了登录原理和伪造请求头信息的方法。
摘要由CSDN通过智能技术生成

      在一次比较久远的课程设计中,我和小组成员做了一个本校大学生二手市场交易平台网站,其中有一个功能是学生用户注册账号之后必须经过学生身份验证才能获取发布二手商品和交易等一系列权限,否则你注册的账号只能是属于“僵尸号”,只可观看别人发布的商品信息,其他基本上什么都干不了。那时候我想到的是通过模拟登录学生信息管理系统的方式来验证学生身份,即学生用户通过输入自己的学生账号和密码,然后服务端将这些信息进行学院学生信息管理系统的登录操作,通过验证之后(登录成功)再进行爬虫抓取对应的学生个人信息数据(姓名、学号、专业等),然后存进数据库,完成账号的身份验证操作。其实本质上这个操作就是爬虫,只不过爬取的是有登录权限的网页。下面我来介绍一下基本的操作,技术上当然是基于Node.js平台啦。

      首先,需要用到的模块有:(安装模块就不用说了吧,直接npm install xxx --save)

  • http模块:这个想必用过Node.js的都很熟悉吧,这里http模块很重要,主要是获取页面的数据信息(html。。。);
  • cheerio模块:这个主要将http请求获得的数据进行对应抓取,语法上类似JQuery的DOM操作,后面放代码会有解释,很简单;
  • iconv模块:这个是为了防止抓取到的页面信息乱码,其实乱码问题主要原因是学校那套网站太老旧了,不得不用iconv处理一下;

     现在我来说一下实现过程:

  • 首先,必
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值