package tk.yourchanges.clicker.proxy;
import java.io.File;
import java.io.FileInputStream;
import java.util.Properties;
import java.util.Set;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import org.eclipse.jetty.util.ConcurrentHashSet;
import tk.yourchanges.clicker.clicker.Utils;
public class Main {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
java.util.logging.Logger.getLogger("com.gargoylesoftware").setLevel(
java.util.logging.Level.OFF);
System.setProperty("org.apache.commons.logging.Log",
"org.apache.commons.logging.impl.NoOpLog");
Properties p = new Properties();
File confFile = null;
if (args.length >= 1) {
confFile = new File(args[0]);
} else {
String file = new Main().getClass().getClassLoader()
.getResource("proxy.ini").getFile();
confFile = new File(file);
}
p.load(new FileInputStream(confFile));
System.out.println("开始抓取代理服务器,列表如下:");
System.out.println("");
final Set<Proxy> proxies = new CNProxyGetter(p).find();
final Set<Proxy> proxies2 = new CN88ProxyGetter(p).find();
proxies.addAll(proxies2);
// String url = "http://yourchanges.tk/blog";
ExecutorService eS = Executors.newFixedThreadPool(Integer.valueOf(p
.getProperty("threadPoolSize", "100")));
ConcurrentHashSet<String> proxyServers = new ConcurrentHashSet<String>();
for (final Proxy proxy : proxies) {
eS.execute(new Runner(proxy, p.getProperty("validateURLs",
"http://www.baidu.com"), proxyServers));
Utils.sleep(10);
}
System.exit(0);
}
}