在网络爬虫中,python爬虫和java爬虫都有多线程,python虽然代码简单易 *** 作,但是在多线程 *** 作中,python 不及java。如果想要加快爬虫速度,可以采用java多线程网络爬虫的方法。本文介绍java爬虫使用多线程的方法爬取百度图片。
一、java多线程
线程是指一个任务从头至尾的执行流。
线程提供了运行一个任务的机制。
对于Java而言,可以在一个程序中并发地启动多个线程。这些线程可以在多处理器系统上同时运行。
二、使用java多线程网络爬虫:设计构造器。
1、获取想要的页面
public class major { public static void main(String[] args) { int sum = 0; ListurlMains = new ArrayList<>(); List imageUrls = new ArrayList<>(); //首先得到10个页面 urlMains = CreateUrl.CreateMainUrl(); out.println(urlMains.size()); for(String urlMain : urlMains) { out.println(urlMain); }
2、使用Jsoup和FastJson解析出所有的图片源链接
imageUrls = CreateUrl.CreateImageUrl(urlMains); for(String imageUrl : imageUrls) { out.println(imageUrl); }
3、创建出每个图片所属的文件夹,并对图片源链接进行下载(使用多线程进行下载)创建进程
ImageFile.createDir(); int average = imageUrls.size()/10; for(int i = 0; i < 10; i++){ int begin = sum; sum += average; int last = sum; Thread image = null; if(i < 9) { image = new Thread(new ImageFile(begin, last, (ArrayList) imageUrls)); } else { image = new Thread(new ImageFile(begin, imageUrls.size(), (ArrayList ) imageUrls)); } image.start(); } } }
以上就是使用java多线程爬虫实现爬取百度图片的过程,还是很容易理解 *** 作的,大家可以尝试看看哦~更多java教程:java教程。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)