求解爬虫多线程

weixin_44619759 2019-06-07 04:04:37

求问大佬,怎样往这个函数加入多线程,想要同时爬虫下载或保存,这个怎么破
在线等~~~
btnRun.addActionListener(new ActionListener() {
public void actionPerformed (ActionEvent e){
ExecutorService executorService = Executors.newFixedThreadPool(5);

for (int i = Integer.valueOf(textField_1.getText()); i < Integer.valueOf(textField.getText()); i++) {

String re = Utils.getSubString(Utils.sendGet("https://api.bilibili.com/x/web-interface/view?aid=" + i), "\"pic\":\"", "\",\"title\":\"");

String error = Utils.getSubString(re, "\"code\":", ",\"message\"");

if (!error.equalsIgnoreCase("-404")) {

System.out.println(re);

Utils.download(new File("E:\\Users\\Test\\AV" + i + ".jpg"), re);
}
}
}
...全文
46 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianfang 2019-06-08
  • 打赏
  • 举报
回复
1 建立线程池,控制同时执行的数量 2 线程池对象的执行方法,就是你现在的代码 3 下载任务分解,当线程池有可用线程,取一个下载任务给线程池

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧