少女祈禱中...
Loading...

ccloli

cc是个loli,你也可以叫她傲娇

又是一年卖萌日(X

噫,结果反应过来已经快要过去了 qaq 那啥……一下子忘记了结果福利也没准备 QAQ……嘤嘤嘤……辣鸡 cc QAQ

在 OpenShift 上安装 Tesseract

最近教务系统的验证码又切换回了旧版的随机位置 + 斜体了,这学期弄的验证码识别也算是废了。这学期采用的新验证码虽然基本每个字符都有粘连,但是由于文本的位置基本是固定的,而且也没有过多的旋转,所以简单地取字模也是可以的(虽然识别率还是非常糟糕啦 _(:3)。现在换回了旧版后反而有些麻烦了,毕竟字符的旋转还是挺难处理的。由于自己用最好的编程语言写了个简单的爬虫,所以顺带试试看做验证码识别吧。

目前网上比较有名的 OCR 应该算是 Tesseract 了吧,Python 端的验证码识别软件 pytesser 就是基于 Tesseract 的。再加上前两年的时候 OpenShift 推出了 Build-It-Yourself 的玩意,就是一个应用 gear 里不仅可以安装 OpenShift 已经提供的 cartridge,用户还可以自己编写一个一键配置脚本,让 OpenShift 导入并安装。于是便考虑在 OpenShift 的一个应用上安装个 Tesseract,至于是不是违反 TOS 什么的再说啦先玩玩再说(x

OpenShift 的添加组件界面

READ MORE →

使用 CSS 跨域获取数据

最近有领导检查,上课不能愉快地玩手机和睡觉了。为了防止不省人事的情况,这家伙把几年前在二手东买的那本《DOM 启蒙》(其实我觉得应该和同系列的另一本书一样,译名为《DOM 启示录》,这样听起来比较厉害)带到了教室。嗯,虽然一直吐槽这本书的排版错误糟蹋了这本书,以至于给我这是盗版书的感觉,不过书的质量还是不错的。

花了一上午看完了整本书,算是把 DOM 整个又复习了一遍。回到寝室的路上突然想起了书中有一章提到可以获取样式表文件的属性,于是机(la)智(ji)的我想出了这么一个奇怪的问题:能不能用 CSS 实现跨域获取数据?

READ MORE →

乱谈 Blob 与 Object URL

* 此文纯粹只是乱谈而已,基本上是只知其一不知其二,还请各位菊苣指正 _(:3

由于某些需要,需要在 JS 里创建一个 Blob(Blob 对象就是包含有只读原始数据的类文件对象)并将数据存入,然后让用户保存它。将其交给用户的方式,对 IE 有一个奇奇怪怪的 navigator.msSaveBlob(),而对大多数现代浏览器来说,可以用 URL.createObjectURL() 来生成一个以 blob: 开头的地址来指向 Blob。目前的主流浏览器都是支持的(不过很可惜,Opera (Presto) 终于在它的最后一个大版本 12 版本实现了 blob,但没有实现 Blob URLs),然而不同浏览器对 Blob 的数据大小是有限制的。这里有份 FileSaver.js 的统计数据。

Browser Constructs as Filenames Max Blob Size
Firefox 20+ Blob Yes 800 MiB
Firefox < 20 data: URI No n/a
Chrome Blob Yes 500 MiB
Chrome for Android Blob Yes 500 MiB
IE 10+ Blob Yes 600 MiB
Opera 15+ Blob Yes 500 MiB
Opera < 15 data: URI No n/a
Safari 6.1+ Blob No ?
Safari < 6 data: URI No n/a
* FileSaver.js 开发者对不支持的浏览器做了一个叫 Blob.js 的兼容脚本,但其本质应该就是将 Blob 转为 data URL

READ MORE →

编程之美 2015 资格赛相关

嗯嗯,参加了之后才知道这种地方不是我等渣渣能去的地方 _(:3」∠)_ 虽然在 hihoCoder 上只要小数据能通过就可以进初赛,但是小数据排名的第一名三项全 AC,罚时只有两个多小时 _(:3」∠)_(虽然由于大数据没过而排名后延了,但现在的第一名还是两个多小时 orz),而且在讨论里他们说到什么“模拟退火”,完全听不懂 _(:3」∠)_ 果然我等只做了两题而且大数据全部 TLE 的渣渣只有当炮灰的命……

咳咳,炮灰归炮灰,还是来看看题目吧,嗯,解题什么的还是挺好玩的……

顺便,没有 JavaScript 差评

READ MORE →

使用 canvas 破解简单验证码

首先,其实这玩意并不算是完全的破解,因为它还需要人工录入的过程,而不是机器自动识别。如果是机器自动识别的话,那该是神经网络了吧——后文会给出一个别人写的例子……话说 CoffeeScript 是什么……

其次,这玩意只能破解非常简单的验证码,也就是那些出现位置固定、没有任何变形和干扰线,甚至颜色差别都不大的验证码,所以像下面这样的验证码还是洗洗睡吧,虽然还是可以识别出验证码的部分,但是识别的话……(canvas 阈值化 by 8q,咳咳,当然 example 也是我们参与的某个玩意的验证码,传说中的自黑

D2YUWF`3L(81`SZ{92TRV4U7O[W~8}V`YA3{]HTN1Z4A_K

再次,每个网站的验证码风格是不一样的,所以基本很难做到一个程序通杀所有验证码。如果真的有这么想过的话,真的可以洗洗睡了……中文验证码祝你好运……

最后,由于源码是手机码的,所以缩进不统一什么的 _(:3」∠)_……

READ MORE →

十月十日

今天又是一年一度的国庆节国际卖萌日……唉,怎么说呢,现在已经卖不起萌了,怎么办…… _(:3」∠)_ 果然已经老了么

(往年黑历史:http://ccloli.com/201310/sell-moe-20131010/ & http://ccloli.com/201210/sell-moe-20121010/

READ MORE →

每天一首小苹果,感觉自己萌!萌!哒!

昨天中午无聊闲逛时,看到了 小苹果 转啊转 这个神奇的东西。觉得无聊于是决定学(shan)习(zhai)一下……

READ MORE →

日常

好吧过了这么久终于回来除草了 _(:з」∠)_

唉,现在拖延症越来越严重了,每次有思路想写一篇文章时都懒得动,慢慢拖,结果根本就不想写了嘛 _(:з」∠)_

其实我也不知道接下来该写些什么,要不把这一年写过的所有代码都搬上来凑数?嗯,就这么定了 _(:з」∠)_

READ MORE →

反面教材

三模结束了,结果完全出乎意料……果然,咱似乎又成了反面教材……

/* 此文章内可能会不知不觉中爆出自己或他人的名字等可能涉及隐私的内容,如果发现请在下面回复提醒以方便删除 */
READ MORE →