Jsoup简单例子2.0——多线程爬取网页内的邮箱

本文介绍了如何使用Jsoup结合多线程提升爬取网页内邮箱的效率。通过实例展示,开启5个线程使得爬取速度提高了5倍。
摘要由CSDN通过智能技术生成

上一篇文章讲了利用Jsoup爬取贴吧帖子里的邮箱,虽然爬取成功了,但我对效率有所追求。10页的帖子爬取了两百多个邮箱,最快用时8秒,一般需要9秒。在思考了一下怎么提升效率后,决定采用多线程的方式爬取网页内的邮箱。废话不多说,直接上代码。

引入Jsoup的jar包此处省略,没有的可以查看上篇文章。


import java.io.IOException;
import java.util.HashSet;
import java.util.Queue;
import java.util.Set;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;


/**
 * 多线程爬取邮箱
 * @author pactera
 *
 */
public class JsoupTest4 {
	/**
	 * Queue:先入先出(FIFO)的数据结构
	 * LinkedBlockingQueue:一个由链接节点支持的可选有界队列
	 */
	//等待爬取的url
	private static volatile Queue<String> queue = new LinkedBlockingQueue<String>();
	//爬取过的url
	private static volatile Set<String> allOverUrl=new HashSe
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值