1
westlinkin 2013-10-22 14:21:13 +08:00
我最近正在做这个事情,朝方法2努力
|
2
dichengsiyu OP @westlinkin 第二种方案在简单客户端开发中感觉性价比不高。即便解析服务定制后可通用,但是无形中把对于目标站的访问压力又复制到爬虫服务上。
|
3
oa414 2013-10-22 16:02:13 +08:00
我做过这种事情
1的缺点是耗流量,速度可能会慢。但是我爬的网站最后在客户端的抓取和解析速度还不错。此外,网站改版几乎是致命的,必须修改客户端。LZ的将解析规则分离想法不错,不过不知道实践起来能不能切合改版后的网站,因为之前没办法知道网站会改版成什么样,没办法调试 2用脚本爬网站比在客户端上调试爬取解析方便多了,我觉得主要问题是自己要增加一个服务器的维护成本。我最近在试验用PHP写,客户端第一次请求的时候去抓取,结果缓存到本地,第二次直接返回本地结果,好处是PHP虚拟空间便宜又多,也不用专门开VPS |
4
icyflash 2013-10-22 16:05:06 +08:00 1
YQL ?
|
5
dichengsiyu OP @icyflash 赞
|
6
dichengsiyu OP @oa414
1. 想是可以把规则做成“正则表达式字符串”,然后可以动态的做成一个表,通过一个固定的api可以访问,做一下简单的版本管理,每次加载的时候读取一下规则数据,如果有变化重新加载。不过还没有具体试验。我使用Jsoup解析,感觉很慢。我想即便是采用这种方式也需要做好预处理,其实有很多信息在构建parser树的时候是不需要的。 2. 维护成本是这个方法的硬伤。@icyflash的推荐的YQL感觉很有意思,可以看看~ |