1、下载(页面html),请求头(如user-agent)处理,重定向,超时,代理,重试策略等
1)使用jdk中的URL实现
HttpURLConnection con = URL.openConnection()
2)使用apache项目hc实现http://hc.apache.org/
HttpResponse response = HttpClient.execute(HttpRequest)
2、解析(待爬链接 + 结构化数据)
1)正则,Pattern类
2)jsoup,http://www.oschina.net/p/jsoup,http://jsoup.org/
3)xpath,http://www.w3school.com.cn/xpath/index.asp
3、存储(原始html + 结构化数据)
1)文件系统,用于检索(Lucene,Hadoop)
2)数据库
3)URL分值?
4、调度
1)待爬url优先级
2)去重
3)并发
4)分布式