[爬虫求助]像这种数据生成图片的怎么爬?

2016-07-21 16:47:28 +08:00
 fusae

比如这个学校课程表

9147 次点击
所在节点    Python
57 条回复
hxtheone
2016-07-21 17:42:01 +08:00
有点难, 为了防 OCR 还加了噪点, 真是蛮拼的
l0wkey
2016-07-21 17:42:31 +08:00
爬接口..
fleer
2016-07-21 17:46:06 +08:00
我输错了几次验证码,连图片啥样子都没看到。
fusae
2016-07-21 17:48:40 +08:00
OCR 挺简单解决的。。[看这个]( https://segmentfault.com/q/1010000005686388)。 @l0wkey 爬接口是啥意思,新人不懂
fusae
2016-07-21 17:56:52 +08:00
@hxtheone 你的意思是用 OCR 去噪图片转文字?
imNull
2016-07-21 17:59:06 +08:00
这个我之前看过,给你点思路:
不要通过 web 获取成绩,这个教务系统有一个 app ,叫掌上校园,抓包分析一下,可以直接 post 然后拿到 json ,

但是, post 的学号等参数加密了,逆向下 apk ,仔细看看 java 源代码(不才,我没能解出来。解出来了记得 @下我哈)
imNull
2016-07-21 17:59:43 +08:00
对了,下载那个 apk ,要去搜下老版本的,新版本的难度比较大
imNull
2016-07-21 18:01:32 +08:00
忽略上边我的回复,,,,看错了,貌似不是同一个系统
imNull
2016-07-21 18:03:21 +08:00
建议 LZ 贴上图。。。
hxtheone
2016-07-21 18:21:08 +08:00
@fusae 我的意思是这网站为了不让人爬还给图片加上了噪点, 这样 OCR 还要先去噪点, 也是蛮拼的, 这样还是找数据接口爬吧
UnisandK
2016-07-21 18:25:52 +08:00
一个课表而已这学校要不要这么拼。。
nkssai
2016-07-21 18:31:10 +08:00
这个噪点挺规律的,二值化以后试一试一般的滤波算法,或者 ising model ,直接给分类器说不定都可以的。
fusae
2016-07-21 19:19:11 +08:00
@hxtheone 怎么找数据接口啊?
fusae
2016-07-21 19:20:03 +08:00
@nkssai 你这个解决方案有点高大上啊(仰望角度
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 上,骚年早日弃坑。
fusae
2016-07-21 21:00:37 +08:00
@JayaOcean 你好,说两点
1.我做的这个不能登录,登录了只能看自己的课表,我是要把全校的班级的课表都要爬下来哟。
2.很抱歉我们不是校友,就应该是同一间公司做的网站,我看它的网页源码有注释你的大学名字,应该网站比我这个更早建吧。所以之所以这么难爬都是因为你们学校的错吗? 233
mikii
2016-07-21 21:30:20 +08:00
你可以搜一下萌小助、大学助手、超级大学、这些都是专业爬学校教务的...
mikii
2016-07-21 21:32:04 +08:00
@imNull 这好像是青果的教务系统。。
fusae
2016-07-21 21:46:40 +08:00
@mikii 对,是青果的
beibeijia
2016-07-21 21:47:27 +08:00
这个验证码确实挺简单的,基本的二值化,去噪以及一些简单微处理后在没有分割建模的情况下直接就可以用 tesseract 识别,俺随机下了 7 张图片做测试,其中 4 张可以被成功识别, so ,别劳神了直接开搞吧!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/293984

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX