Request
对象支持设置skipDuplicateFilter
用来告诉seimi处理器跳过去重机制,默认不跳过BaseSeimiCrawler.handleErrorRequest(Request request)
来处理记录这个异常的请求。重新打回等待处理机制配合delay功能使用可以在很大程度上避免因访问站点的反爬虫策略引起的请求处理异常,并丢失请求的记录的情况。Response
对象增加通过getRealUrl()
获取内容对应重定向以及跳转后的真实连接BaseSeimiCrawler.proxy()
来自行决定每次请求所使用的代理,覆盖该方法并返回有效代理地址则@Crawler
中proxy
属性失效。allowRules
和denyRules
的自定义设置,即白名单规则和黑名单规则,格式均为正则表达式。默认为null不进行检查SeimiCrawler是一个敏捷的,独立部署的,支持分布式的Java爬虫框架,希望能在最大程度上降低新手开发一个可用性高且性能不差的爬虫系统的门槛,以及提升开发爬虫系统的开发效率。在SeimiCrawler的世界里,绝大多数人只需关心去写抓取的业务逻辑就够了,其余的Seimi帮你搞定。设计思想上SeimiCrawler受Python的爬虫框架Scrapy启发很大,同时融合了Java语言本身特点与Spring的特性,并希望在国内更方便且普遍的使用更有效率的XPath解析HTML,所以SeimiCrawler默认的HTML解析器是JsoupXpath(独立扩展项目,非jsoup自带),默认解析提取HTML数据工作均使用XPath来完成(当然,数据处理亦可以自行选择其他解析器)。
大家有什么问题或建议现在都可以选择通过下面的邮件列表讨论,首次发言前需先订阅并等待审核通过(主要用来屏蔽广告宣传等)
- 订阅:请发邮件到 seimicrawler+subscribe@googlegroups.com
- 发言:请发邮件到 seimicrawler@googlegroups.com
- 退订:请发邮件至 seimicrawler+unsubscribe@googlegroups.com
BTW:
如果您觉着这个项目不错,到github上star
一下,我是不介意的 ^_^