在网络爬虫进行到后期的时候,如果需要爬虫的规模很大,速度需求快,可以使用java爬虫,java爬虫会比python爬虫快一些。本文介绍java爬虫的三种实现方法以及实现java爬虫的具体代码示例。
一、java多线程实现方式
继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。
继承Thread类、实现Runnable接口方式线程执行完后都没有返回值
使用ExecutorService、Callable、Future是带返回值的。
二、实现java多线程爬虫:在for循环中让每个子线程都执行RunThread类中的run方法
1、创建一个收集线程的列表
package multithreading;import java.util.ArrayList;import java.util.List;/**
* Created by hg_yi on 17-6-13.
*
* 线程计数器是一个共享变量
*/public class MultithreadCrawler{
public static void main(String[] args) throws InterruptedException { //创建一个收集线程的列表
List<Thread> threadList = new ArrayList<Thread>();
2、创建线程的个数
int threadNum = 5;
RunThread run = new RunThread();
run.setThreads(threadNum);
3、创建5个线程,并对其进行收集
for (int i = 0; i < threadNum; i++) {
Thread thread = new Thread(run);
thread.start();
threadList.add(thread);
}
4、main线程需要等待所有子线程退出
Thread.currentThread().join();
}
}
以上就是java中实现多线程爬虫的代码示例,大家可以套入代码尝试看看哦~