比如这个学校课程表
1
hxtheone 2016-07-21 17:42:01 +08:00
有点难, 为了防 OCR 还加了噪点, 真是蛮拼的
|
2
l0wkey 2016-07-21 17:42:31 +08:00
爬接口..
|
3
fleer 2016-07-21 17:46:06 +08:00 via Android
我输错了几次验证码,连图片啥样子都没看到。
|
4
fusae OP OCR 挺简单解决的。。[看这个]( https://segmentfault.com/q/1010000005686388)。 @l0wkey 爬接口是啥意思,新人不懂
|
6
imNull 2016-07-21 17:59:06 +08:00 via Android
这个我之前看过,给你点思路:
不要通过 web 获取成绩,这个教务系统有一个 app ,叫掌上校园,抓包分析一下,可以直接 post 然后拿到 json , 但是, post 的学号等参数加密了,逆向下 apk ,仔细看看 java 源代码(不才,我没能解出来。解出来了记得 @下我哈) |
7
imNull 2016-07-21 17:59:43 +08:00 via Android
对了,下载那个 apk ,要去搜下老版本的,新版本的难度比较大
|
8
imNull 2016-07-21 18:01:32 +08:00 via Android
忽略上边我的回复,,,,看错了,貌似不是同一个系统
|
9
imNull 2016-07-21 18:03:21 +08:00 via Android
建议 LZ 贴上图。。。
|
10
hxtheone 2016-07-21 18:21:08 +08:00
@fusae 我的意思是这网站为了不让人爬还给图片加上了噪点, 这样 OCR 还要先去噪点, 也是蛮拼的, 这样还是找数据接口爬吧
|
11
UnisandK 2016-07-21 18:25:52 +08:00
一个课表而已这学校要不要这么拼。。
|
12
nkssai 2016-07-21 18:31:10 +08:00
这个噪点挺规律的,二值化以后试一试一般的滤波算法,或者 ising model ,直接给分类器说不定都可以的。
|
15
JayaOcean 2016-07-21 20:36:39 +08:00
校友[握爪] ~
之前研究过,这套旧版教务系统为了推广自己的 APP ,防爬做得很恶心。 以下两个思路: 1.模拟登陆教务系统。用楼上 SF 的方案识别验证码。登陆后从网上选课>正选结果可以直接拿到课表, GET http://csujwc.its.csu.edu.cn/wsxk/stu_zxjg.aspx ,再自己解析 HTML 。 2.新版教务系统。也需要破验证码。再 GET http://jwctest.its.csu.edu.cn/jsxsd/xskb/xskb_list.do ,之后解析 HTML 。 中南 e 行 APP 已死,不知道接口还能不能用,就酱。 总之,每年总有几个娃要浪费时间在这 shit 上,骚年早日弃坑。 |
16
fusae OP @JayaOcean 你好,说两点
1.我做的这个不能登录,登录了只能看自己的课表,我是要把全校的班级的课表都要爬下来哟。 2.很抱歉我们不是校友,就应该是同一间公司做的网站,我看它的网页源码有注释你的大学名字,应该网站比我这个更早建吧。所以之所以这么难爬都是因为你们学校的错吗? 233 |
17
mikii 2016-07-21 21:30:20 +08:00
你可以搜一下萌小助、大学助手、超级大学、这些都是专业爬学校教务的...
|
20
beibeijia 2016-07-21 21:47:27 +08:00
这个验证码确实挺简单的,基本的二值化,去噪以及一些简单微处理后在没有分割建模的情况下直接就可以用 tesseract 识别,俺随机下了 7 张图片做测试,其中 4 张可以被成功识别, so ,别劳神了直接开搞吧!
|
23
ryan93 2016-07-21 22:35:08 +08:00
校友+1 ,你还记得有个微哨应用设计大赛吗?不过那都是几年前的事情了。
|
25
ryan93 2016-07-21 23:31:30 +08:00
@fusae 只是一个内网聊天工具,再说当年实验室和宿舍区网络没断开的日子里,内网资源发展得挺不错(例如 GNU/Linux 协会),自己写一个网页版的聊天应用也不是什么难事。现在实验室与宿舍网路不能相通(除在 172.31.*.*网段搭桥外),少了当年挖掘内网的乐趣了,不得不说有点令人伤感。
|
27
momou 2016-07-22 00:29:02 +08:00
|
28
vmebeh 2016-07-22 01:18:05 +08:00
格式二是不是包含了全部科目,如果用相似度会不会更快点
|
29
upczww 2016-07-22 07:39:20 +08:00 via Smartisan T1
强智有没有人爬过?
|
30
lneoi 2016-07-22 08:54:50 +08:00
这验证码...每个字符颜色不一样字符也独立 靠色值过滤应该可以直接定出大部分范围
要爬成文字, 这个图片质量太差, 昨天还看到百度推出 orc 接口 试试那个? |
31
m939594960 2016-07-22 09:06:39 +08:00
直接把图爬下来不好么。。。。
|
33
fusae OP 我想到一个,不知道可不可行。它前面不是有个“课程课表”吗,现在我要爬的是“班级课表”,参数是“学年学期”和“具体班级”,而“课程课表”的参数是“学年学期”和“具体课程”。那么我是不是可以根据选定的学年学期把该学年学期的所有具体课程都爬一遍,若是该课程包含“具体班级”,那么就是证明“具体班级”在该学年学期有上这门课!这样自己把图里面的数据重新生成了一遍。
|
34
scnace 2016-07-22 10:13:45 +08:00 via Android
233 爬方正路过 还好没这个这么变态(
|
37
davidlau 2016-07-22 13:01:35 +08:00
用 OpenCV: 去噪点----->二值化----->把字符图像抠出来
然后用 CNN 一类的工具去做 OCR |
38
practicer 2016-07-22 14:35:39 +08:00
|
39
former 2016-07-22 15:28:40 +08:00
生成图片的 url 不能直接爬啊
|
40
Wy4q3489O1z996QO 2016-07-22 16:30:21 +08:00
歪个楼,这系统也太业界良心了,就本分的做好本职功能就好了嘛,有人爬就好好的让人爬嘛。
是什么驱使它废了这么大力气做的这么“完善”呢? |
41
orzfly 2016-07-22 22:30:03 +08:00
|
42
orzfly 2016-07-22 22:30:56 +08:00
只要输入 24 次验证码就能抓到所有课程数据了呀(共 24 周)
|
44
imNull 2016-07-22 22:48:44 +08:00 via Android 1
@upczww 我做过强智的,但我学校是没有验证码的,可以参考一下我的 https://github.com/xu42/Qznjw2014
|
45
macroideal 2016-07-23 00:36:32 +08:00
做这个系统的一定是一个心机婊, 右键都禁了的
|
50
lrigi 2016-07-23 10:56:27 +08:00
讲道理,看了下我校的课程表,直接就是在网页上的 excel 表格的样子,所有年级专业随便点也不用输验证码。。。
|
51
smilekung 2016-07-23 12:58:28 +08:00
解决不了系统就解决人啊 找教务处老师给导一份出来咯
|
52
oceantree 2016-07-23 15:41:12 +08:00
|
53
loading 2016-07-23 15:45:17 +08:00 via Android
这所大学果然是培养人的 233
|
55
lavande 2016-07-24 13:33:57 +08:00
这个问题不是爬虫的问题,而是爬下来之后怎么处理所得到的数据的问题……
http://jwxt.dgut.edu.cn/jwweb/ZNPK/drawkbimg.aspx?type=1&w=1110&h=7140&xn=2015&xq=1&bjdm=1101201201 发送这些参数请求,服务器返回图像… |
56
ryan93 2016-08-02 11:10:05 +08:00
这个教务系统有个特点,就是数据据经常挂掉。
|