Java爬虫框架SeimiCrawler v0.2.6发布
特别介绍
2016.01.05:专门为SeimiCrawler工程打包部署的maven-seimicrawler-plugin
已经发布可用,详细请继续参阅maven-seimicrawler-plugin或是下文工程化打包部署
章节。
Change log
v0.2.6
- 增加统一的启动入口类,配合未来SeimiCrawler的maven构建plugin一起使用
- meta refresh方式跳转优化,设置最多上限为3次,防止遇到持续刷新页面无法跳出
- bug fix:修复在Request中自定义数据无法传向Response的问题
v0.2.5
- 增加请求遭遇严重异常时重新打回队列处理机制
当一个请求在经历网络请求异常的重试机制后依然出现非预期异常,那么这个请求会在不超过开发者设置的或是默认的最大重新处理次数的情况下被打回队列重新等待被处理,如果被打回次数达到了最大限制,那么seimi会调用开发者自行覆盖实现的BaseSeimiCrawler.handleErrorRequest(Request request)
来处理记录这个异常的请求。重新打回等待处理机制配合delay功能使用可以在很大程度上避免因访问站点的反爬虫策略引起的请求处理异常,并丢失请求的记录的情况。 - 优化去重判断
- 优化不规范页面的编码获取方式
v0.2.4
- 自动跳转增强,除301,302外增加支持识别通过meta refresh方式的页面跳转
Response
对象增加通过getRealUrl()
获取内容对应重定向以及跳转后的真实连接- 通过注解@Crawler中'useUnrepeated'属性控制是否启用系统级去重机制,默认开启
v0.2.3
- 支持自定义动态代理
开发者可以通过覆盖BaseSeimiCrawler.proxy()
来自行决定每次请求所使用的代理,覆盖该方法并返回有效代理地址则@Crawler
中proxy
属性失效。 - 添加动态代理,动态User-Agent使用demo
v0.2.2
- 增强对不规范网页的编码识别与兼容能力
v0.2.1
- 优化黑白名单正则过滤机制
v0.2.0
- 增加支持内嵌http服务API提交json格式的Request请求
- 增加针对请求URL进行校验的
allowRules
和denyRules
的自定义设置,即白名单规则和黑名单规则,格式均为正则表达式。默认为null不进行检查 - 增加对Request的合法性的统一校验
- 增加支持请求间的delay时间设置
项目源码
社区讨论
大家有什么问题或建议现在都可以选择通过下面的邮件列表讨论,首次发言前需先订阅并等待审核通过(主要用来屏蔽广告宣传等)
- 订阅:请发邮件到
seimicrawler+subscribe@googlegroups.com
- 发言:请发邮件到
seimicrawler@googlegroups.com
- 退订:请发邮件至
seimicrawler+unsubscribe@googlegroups.com