栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java多线程爬虫爬取百度图片

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java多线程爬虫爬取百度图片

在网络爬虫中,python爬虫和java爬虫都有多线程,python虽然代码简单易操作,但是在多线程操作中,python 不及java。如果想要加快爬虫速度,可以采用java多线程网络爬虫的方法。本文介绍java爬虫使用多线程的方法爬取百度图片。

一、java多线程

线程是指一个任务从头至尾的执行流。

线程提供了运行一个任务的机制。

对于Java而言,可以在一个程序中并发地启动多个线程。这些线程可以在多处理器系统上同时运行。

二、使用java多线程网络爬虫:设计构造器。

1、获取想要的页面

public class major {
public static void main(String[] args) {
int sum = 0;
List urlMains = 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教程。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/15084.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号