利用多线程技术开九路爬虫对数据进行爬取
package com;
/**
* 孙煜晗爬虫九倍速魔改版
* sunYuhan
*/
import java.io.*;
import java.net.*;
import java.util.*;
import java.util.regex.*;
public class exe2{
static exe e1;
public static void main(String[] args)
{
exe e=new exe();
e.firstGo();
exeThread e1=new exeThread(e);
exeThread e2=new exeThread(e);
exeThread e3=new exeThread(e);
exeThread e4=new exeThread(e);
exeThread e5=new exeThread(e);
exeThread e6=new exeThread(e);
exeThread e7=new exeThread(e);
exeThread e8=new exeThread(e);
exeThread e9=new exeThread(e);
e1.start();
e2.start();
e3.start();
e4.start();
e5.start();
e6.start();
e7.start();
e8.start();
e9.start();
}
}
class exe {
//提取的数据存放到该目录下
//为html转化为的TXT文件
private static String savepath="C:/Users/54781/Desktop/爬虫文件2/";
//等待爬取的url
private static List<String> allwaiturl=new ArrayList<>();
//记录爬取过的url
private static Set<String> alloverurl=new HashSet<>();
//记录所有url的深度进行爬取判断
private static Map<String,Integer> allurldepth=new HashMap<>();
//爬取的深度
private static int maxdepth=10;
public void firstGo()
{
String strurl="https://book.douban.com";
workurl(strurl,1);
}
public boolean go()
{
while(true)