Jsoup简单例子——爬取网页内的邮箱
一、前言
Jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,
可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
主要功能:
1)从一个URL,文件或字符串中解析HTML
2)使用DOM或CSS选择器来查找、取出数据
3)可操作HTML元素、属性、文本
二、案例
这里以百度贴吧的一个帖子为例,爬取帖子里的邮箱,如图:
首先新建一个Maven Project
在pom.xml中加入jsoup的jar包:
<dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.10.2</version>
</dependency>
Java代码:
import java.io.IOException;
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 Honest**/
public class JsoupTest3 {public static void main(String[] args) {int index = 1;//页数String url = "https://tieba.baidu.com/p/3349997454?pn=";//地址long startTime = System.currentTimeMillis();//开始时间int i = 0;//记录获取邮箱个数try {//获取10页的内容for(;index <= 10;index++) {Document document = Jsoup.connect(url+index)//伪装成浏览器进行抓取.header("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:33.0) Gecko/20100101 Firefox/33.0").get(); Element main = document.getElementById("j_p_postlist");Elements content = main.select("div.l_post_bright").select("div.d_post_content_main").select("div.p_content").select("cc").select("div.d_post_content");//遍历每一帖的内容for (Element element : content) {String Content = element.text();//正则表达式判断邮箱String patternStr = "[\\w[.-]]+@[\\w[.-]]+\\.[\\w]+";Pattern pattern = Pattern.compile(patternStr);Matcher matcher = pattern.matcher(Content);//如果含有邮箱,获取到的邮箱个数i+1,并输出该邮箱if(matcher.find()) {i++;System.out.println(matcher.group());}}}long endTime = System.currentTimeMillis();//结束时间System.out.println("获取了"+i+"个邮箱");//System.currentTimeMillis()单位为毫秒,除以1000转化为秒System.out.println("耗时:"+(endTime - startTime)/1000+"s");} catch (IOException e) {e.printStackTrace();}}
}
需要注意的是,在利用爬虫爬取网页数据的时候,一定要伪装成浏览器,否则有的网站在识别到你正在通过爬虫爬取数据后,会封掉你的ip,切记切记。
Jsoup简单例子——爬取网页内的邮箱相关推荐
- Jsoup简单例子2.0——多线程爬取网页内的邮箱
上一篇文章讲了利用Jsoup爬取贴吧帖子里的邮箱,虽然爬取成功了,但我对效率有所追求.10页的帖子爬取了两百多个邮箱,最快用时8秒,一般需要9秒.在思考了一下怎么提升效率后,决定采用多线程的方式爬取网 ...
- 利用java的JSoup爬虫技术爬取网页信息
简单讲解java的Jsoup爬虫技术来爬取网页的数据,简单来讲就是解释网页,一般学过xml的人都很容易理解. 第一步:我们要爬取网页的静态内容必须要了解网页的源码,也就是div之类的标签,因为我们是靠 ...
- 简单的爬取网页基本信息(疫情数据)
文章目录 前言 一.项目简介 二.项目实现过程 1.查看限制 2.读入数据 三.项目效果 总结 前言 随着网络的迅速发展,网络称为大量信息的载体,如何有效地提取并利用这些信息成为巨大的挑战.网络爬虫是 ...
- python简单的爬取网页上的图片
如果需要大量的图片,在网页中一个一个下载,耗费时间太长了,如果可以有程序自动帮我们下载图片,这样就最好了,既快速又方便. 接下来,我将把学习笔记记录如下,以下内容仅仅是突击学习.尽快使用的效果,而对于 ...
- java爬虫实战——实现简单的爬取网页数据
故事的开头 虽然我们程序员不干爬虫的活,但是工作中确实偶尔有需要网络上的数据的时候,手动复制粘贴的话数据量少还好说,万一数据量大,浪费时间不说,真的很枯燥. 所以现学现卖研究了一个多小时写出了个爬虫程 ...
- python最简单的爬取邮箱地址_python3爬取网页中的邮箱地址
1.爬虫分析 分析结果对: http://xxx.com?method=getrequest&gesnum=00000001 http://xxx.com?method=getrequest& ...
- php爬取邮箱,SAS爬虫的简单应用-爬取帖子下的邮箱,给他们发一封邮件...
前一段时间,看到了某些帖子下,有好多邮箱,然后我就想啊,如果我能给这些邮箱发一封邮件邀请关注我公众号,我的关注是不是会蹭蹭的往上涨...那么问题来了,如何可以批量get到网页上的邮箱呢?于是关于&qu ...
- python爬虫获取的网页数据为什么要加[0-python3爬虫爬取网页思路及常见问题(原创)...
学习爬虫有一段时间了,对遇到的一些问题进行一下总结. 爬虫流程可大致分为:请求网页(request),获取响应(response),解析(parse),保存(save). 下面分别说下这几个过程中可以 ...
- Python爬取网页的所有内外链
用Python爬虫,爬取网页的所有内外链 项目介绍 代码大纲 网站详情 代码详情 队列 内链外链 请求头 完整代码 爬取结果 项目介绍 采用广度优先搜索方法获取一个网站上的所有外链. 首先,我们进入一 ...
最新文章
- word2016公式自动编号
- 【Windows 逆向】使用 CE 工具挖掘关键数据内存真实地址 ( 完整流程演示 | 查找临时内存地址 | 查找真实指针地址 )
- python函数sn_Python plist.SndRcvList方法代码示例
- 查期刊是否开源_新期刊HardwareX促进科学的开源硬件
- pycharm创建一个Hello
- centos安装SVN独立服务器
- Hobo 4: Total War
- 【Python学习日记】迭代器
- 夜神模拟器 Fiddler Tunnel to......443
- 新手如何学习网络安全?
- ASCII、Unicode、UTF-8 和 Base64 等编码
- 2019中国区块链开发者大会 | Conflux 伍鸣:性能问题仍是区块链的应用阻碍
- 电平触发,边沿触发,脉冲触发
- SpringBoot2+Netty+WebSocket(netty实现websocket,支持URL参数)
- 地理坐标系、投影坐标系详解
- mac壁纸文件夹没有怎么办?mac动态壁纸怎么设置
- 修改功能测试的测试点
- 4000w粉网红宣告散伙,抖音顶流为何总是一拍两散?
- windows找不到麦克风的解决方法
- 关于OpenCV的个人小心得