用java写的爬虫代码
超简单的 Web 爬虫程序,不过可以在他基础之上改造一下,写出强大点的爬虫!
/**
* @author Jack.Wang
*
*/
import java.io.BufferedReader;
import java.io.InputStreamReader;
import http://www.doczj.com/doc/233f46194b73f242336c5f76.html.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
// 搜索Web爬行者
public class SearchCrawler implements Runnable {
/*
* disallowListCache缓存robot不允许搜索的URL。 Robot协议在Web站点的根目录下设置一个robots.txt文件,
* 规定站点上的哪些页面是限制搜索的。
* 搜索程序应该在搜索过程中跳过这些区域,下面是robots.txt的一个例子: * # robots.txt for http://www.doczj.com/doc/233f46194b73f242336c5f76.html/ User-agent:
* Disallow: /cgi-bin/
* Disallow: /registration # Disallow robots on registration page
* Disallow: /login
*/
private HashMap> disallowListCache = new HashMap>();
ArrayListerrorList = new ArrayList();// 错误信息ArrayListresult = new ArrayList(); // 搜索到的结果String startUrl;// 开始搜索的起点
int maxUrl;// 最大处理的url数
String searchString;// 要搜索的字符串(英文)
boolean caseSensitive = false;// 是否区分大小写
boolean limitHost = false;// 是否在限制的主机内搜索
public SearchCrawler(String startUrl, int maxUrl, String searchString) {