Java URL 规则解释器

接上文《Java 自定义 URL 规则解析》,这次,我们来写这个结构的解释器。 上文的描述中,我们得到了这样的一个数据结构: S: start E: end loop: loop BS: branch start BE: branch end — http —…

Java 自定义 URL 规则解析

正如上文说的,最近再写一个 Proxy 的爬取工具。那么有个问题就接着来了。如何快速的定义一个方便的 URL 配制方法。 举个简单的例子。我们可以看到: public final static String VPS_LIST_URL[] = { “http://www.cz88.utils/proxy/[|http_[2-3|7-9].shtml]”, “http://www.site-digger.com/html/articles/20110516/proxieslist.html”, “http://www.kuaidaili.com/proxylist/[0-10]” }; 这边在 cz88 这个站点,他的路径是比较奇怪的。页码为1的时候,他是直接根目录访问,但是从之后就是…

一个爬虫引发的 Java AES 问题

写在开头,为什么有这一篇文章呢?因为,最近我开始了一个项目组,就是 HTTP Proxy 的信息采集。因为之前一直有个写爬虫的习惯,但是因为一直没有一个稳定的 Proxy 的提供渠道,或者说,并没有限制的资金购买这个服务。导致了我之前的刷某些服务器,被封了 IP (也是因为懒)。 所以,为了避免以上的悲剧不再发生,就开始了这个项目组。那么,这个项目和 AES 加密有什么关系呢。其实,我的计划里,并没有关系。但是,在写爬虫爬取各个网站上的 Proxy 的时候,遇到了这么个情况。有些网站本身也是通过提供 VPS 盈利的,所以他们会在前端显示的时候,做一些加密处理。 比如: http://www.site-digger.com/html/articles/20110516/proxieslist.html 当时,我很简单的以为,他和其他的网站一样,直接脱光了等我爬。想都没想,直接通用爬虫上去爬。发现结果是空。就很奇怪啊。然后就看了他的源码: <tr> <td><script>document.write(decrypt(“4A41BUVh2nIx3Ubh9RoGWtowBUlFhSM0jiG6UMvLR68=”));</script></td>…

Hexo 博客加密插件简述

众所周知,Hexo 是一个很赞的静态博客系统。但是,他有一个很大的缺陷,就是无法对文章进行加密处理。比如,我想对一篇文章做权限控制,例如提问回答可见等等。所以,这就产生了一个这样的需求。 虽然我不是一个 Hexo 用户,但是,看到这样的知乎问答: 我只想说,不想一想实现就直接说不可以的,都不是程序员,一点创造性都没有。顺便吐槽下知乎这个社交平台。 说正事。这个插件的主要用途就是为博客加密,使用方法很简单,这边就不详细描述,因为还有一些没有完善的地方,先期的文档在这:GITHUB 原理 其实说穿了,也很简单。因为 Hexo 是纯静态博客系统,所以不可能采用后台密码校验的方式进行处理。所以这个校验就落到了前端上。但是,如果直接 js 进行密码校验,这就好像,我把钥匙放在钥匙孔里,然后对小偷说,你看,我锁好了。 所以这边只可能采用密文的方式,这边感谢开源,这边我使用的是 brix / crypto-js 项目,进行博客加密。加密方式选用的 AES,这个基本可以确保拦截住 99%…

Laravel ORM 的一个优化场景

评论中 forehalo 提供了一个更 Laravel 的实现方式:https://laravel.com/docs/5.0/eloquent#eager-loading Laravel 的 Eloquent 可能是最好的 PHP ORM 之一。不过,他也有所有 ORM 框架的通病,就是技术人员在不熟悉框架的情况下进行编码,很容易造成性能问题。之前遇到的一个应用场景。现在简化出来。 有两张表,一张暂定为 user 表,一张为 userinfo 表,现在有个需求是将特定用户抽取出来,然后从 userinfo…