Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

教务系统 微信小程序

说明

正方教务系统的(微信)小程序,成绩数据爬虫

准备用服务端做数据抓取,客户端仅作数据显示

请见下方局限

此项目使用 Applet 名称仅为借古讽今只之用

演示

  1. 从 GitHub 克隆项目

  2. 启动微信 Web 开发着工具,添加项目

  3. 选择无 AppID ,填写任意名称,找到项目目录添加

  4. 点击“查询”

教务系统 微信小程序

教务系统 微信小程序

局限

由于 Javascript 跨域限制暂时无法直接通过小程序去抓取目标网站的 Cookie

xhr

Date: Fri, 30 Sep 2016 12:46:33 GMT
Server: Microsoft-IIS/6.0
X-AspNet-Version: 1.1.4322
X-Powered-By: ASP.NET
MicrosoftOfficeWebServer: 5.0_Pub
Content-Type: image/Gif; charset=gb2312
Access-Control-Allow-Origin: *
Cache-Control: private
Access-Control-Allow-Headers: X-Requested-With, Content-Type
Content-Length: 2245

chrome

HTTP/1.1 200 OK
Date: Fri, 30 Sep 2016 12:46:33 GMT
Server: Microsoft-IIS/6.0
MicrosoftOfficeWebServer: 5.0_Pub
X-Powered-By: ASP.NET
X-AspNet-Version: 1.1.4322
Set-Cookie: ASP.NET_SessionId=hw4tpo55f4005ojii14d2e3r; path=/
Cache-Control: private
Content-Type: image/Gif; charset=gb2312
Content-Length: 2245

小程序暂时使用直接 GET 获取到的 HTML 内容进行解析然后填充视图作为演示

var achievementUrl = isDebug ? mockUrl + 'achievements.html' : sisUrl + '/xscj.aspx?xh='

如果能够避免跨域访问的限制,小程序可以不依赖服务端完成抓取的任务

// XMLHttpRequest 完备
var test = function (url, callback) {
  var xhr = new XMLHttpRequest()
  xhr.responseType = 'blob'
  xhr.onload = function () {
    var reader = new FileReader()
    var headers = xhr.getAllResponseHeaders()
    reader.onloadend = function () {
      callback(reader.result, headers)
    }
    reader.readAsDataURL(xhr.response)
  }
  xhr.open('GET', url)
  xhr.send()
}

About

教务系统小程序 student-information-system-wechat-applet

Resources

Stars

47 stars

Watchers

8 watching

Forks

Releases

Packages

Used by

Contributors

Languages