温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java多线程爬虫爬取百度图片的方法

发布时间:2021-04-27 14:05:45 来源:亿速云 阅读:251 作者:小新 栏目:编程语言

小编给大家分享一下java多线程爬虫爬取百度图片的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Java的特点有哪些

Java的特点有哪些 1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 2.Java具有简单性、面向对象、分布式、安全性、平台独立与可移植性、动态性等特点。 3.使用Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。

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

一、java多线程

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

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

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

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

1、获取想要的页面

public class major {
public static void main(String[] args) {
int sum = 0;
List<String> urlMains = new ArrayList<>();
List<String> 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<String>) imageUrls));
} else {
image = new Thread(new ImageFile(begin, imageUrls.size(),
(ArrayList<String>) imageUrls));
}
image.start();
}
}
}

以上是“java多线程爬虫爬取百度图片的方法”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI