Java网络爬虫crawler4j学习笔记<10> HostDirectives类
来源:互联网 发布:行知职高在哪 编辑:程序博客网 时间:2024/05/16 15:33
源代码
package edu.uci.ics.crawler4j.robotstxt;// 存放当前Host的robot.txt指令public class HostDirectives { // If we fetched the directives for this host more than // 24 hours, we have to re-fetch it. private static final long EXPIRATION_DELAY = 24 * 60 * 1000L; // 不允许访问的规则 private RuleSet disallows = new RuleSet(); // 允许访问的规则 private RuleSet allows = new RuleSet(); // 获取robot指令的时间 private long timeFetched; // 最后一次使用robot指令集合的时间 private long timeLastAccessed; public HostDirectives() { timeFetched = System.currentTimeMillis(); } // 如果超出指定时间限制,需要重新获取robot指令 public boolean needsRefetch() { return (System.currentTimeMillis() - timeFetched > EXPIRATION_DELAY); } // 当前path是否允许访问 public boolean allows(String path) { timeLastAccessed = System.currentTimeMillis(); // disallows集合中没有或者allows集合中有,则可以访问 return !disallows.containsPrefixOf(path) || allows.containsPrefixOf(path); } // 增加当前path到不允许访问的集合中去 public void addDisallow(String path) { disallows.add(path); } // 增加当前path到允许访问的集合中去 public void addAllow(String path) { allows.add(path); } // 最后一次访问时间 public long getLastAccessTime() { return timeLastAccessed; }}
0 0
- Java网络爬虫crawler4j学习笔记<10> HostDirectives类
- Java网络爬虫crawler4j学习笔记<2> Util类
- Java网络爬虫crawler4j学习笔记<3> IO类
- Java网络爬虫crawler4j学习笔记<4> Net类
- Java网络爬虫crawler4j学习笔记<5> TLDList类
- Java网络爬虫crawler4j学习笔记<6> WebURL类
- Java网络爬虫crawler4j学习笔记<7> UrlResolver类
- Java网络爬虫crawler4j学习笔记<8> URLCanonicalizer类
- Java网络爬虫crawler4j学习笔记<9> RuleSet类
- Java网络爬虫crawler4j学习笔记<11> RobotstxtConfig类
- Java网络爬虫crawler4j学习笔记<12> RobotstxtParser类
- Java网络爬虫crawler4j学习笔记<13> AuthInfo类
- Java网络爬虫crawler4j学习笔记<14> BasicAuthInfo类
- Java网络爬虫crawler4j学习笔记<15> FormAuthInfo类
- Java网络爬虫crawler4j学习笔记<17> CrawlConfig类
- Java网络爬虫crawler4j学习笔记<18> Configurable类
- Java网络爬虫crawler4j学习笔记<21> Page 类
- Java网络爬虫crawler4j学习笔记<22> Parser 类
- Linux命令学习
- Linux下的tar压缩解压缩命令详解
- NOIP2013提高组 货车运输
- object pascal中的覆盖(override)、重定义(redefine)和重载(overload)
- 在公司实习中的学习一
- Java网络爬虫crawler4j学习笔记<10> HostDirectives类
- bash的数值运算
- Java爬虫网页抓取图片
- iptables+tc实现isp级别每ip限速并限制会话数
- 用 shell 脚本快速打包 iOS ipa 文件
- Android开发-RecyclerView-AndroidStudio(五)属性动画(2)MoveDuration
- JDK安装成功了 但eclipse起不来
- 21. Merge Two Sorted Lists (Easy)
- Xcode 8.0 调试运行,This ** is running iOS 10.1.1 (14B100), which may not be supported