针对上一篇写的内容很简单,只是给大家抛出了有一个工具可以用来分析网页的内容,做java搜索爬虫使用,实际的使用并没有怎么介绍,现在这篇文章就来介绍一下用法,可能分析的不是很全面,欢迎批评。经过我的测试使用,jsoup分析网页结构和内容的功能远远强大于HtmlParser,无论是获取整个页面的文本,还是分析特定内容的网页结构,都是十分的方便。
附上链接:jsoup官网:http://jsoup.org/ ,中文jsoup:http://www.open-open.com/jsoup/
下面写些我的使用记录,希望大家如果能从我的方法中得到启发,鉴于本人从事开发工作不久,内容可能写的不是很好。
jsoup数据获取有两大方法:1.通过分析dom模型的网页标签和元素,2.select元素选择器,类似jquery方式(功能很强大,还支持正则表达式)。网页tag标签有body,div,table,tr,td,a,等等。元素的属性有,href,title,width,height,color等等,元素属性的值就是,例如:href=“www.baidu.com”, 值就是www.baidu.com 。width=“98%” 值就是98%
下面就以分析http://www.iteye.com首页的每日资讯为例,抓取每日资讯的标题和url地址,详细写出分析步骤:
1.用chrome浏览器的元素审查,分析页面的结构,得到每日资讯是div class=<main_left>层里面
2.写程序分析,首先根据url获取div文本,再来根据文本对内容进行分析
/** * 根据jsoup方法获取htmlContent * 加入简单的时间记录 * @throws IOException */ public static String getContentByJsoup(String url){ String content=""; try { System.out.println("time=====start"); Date startdate=new Date(); Document doc=Jsoup.connect(url) .data("jquery", "java") .userAgent("Mozilla") .cookie("auth", "token") .timeout(50000) .get(); Date enddate=new Date(); Long time=enddate.getTime()-startdate.getTime(); System.out.println("使用Jsoup耗时=="+time); System.out.println("time=====end"); content=doc.toString();//获取iteye网站的源码html内容 System.out.println(doc.title());//获取iteye网站的标题 } catch (IOException e) { e.printStackTrace(); } System.out.println(content); return content; }
3. 根据整个每日资讯所在的div层,获取那段内容(精确获取)
/** * 使用jsoup来对文档分析 * 获取目标内容所在的目标层 * 这个目标层可以是div,table,tr等等 */ public static String getDivContentByJsoup(String content){ String divContent=""; Document doc=Jsoup.parse(content); Elements divs=doc.getElementsByClass("main_left"); divContent=divs.toString(); //System.out.println("div==="+divContent); return divContent; }
4.根据获取的目标层得到你所要的内容(title,url地址...等等)
/** * 使用jsoup分析divContent * 1.获取链接 2.获取url地址(绝对路径) */ public static void getLinksByJsoup(String divContent){ String abs="http://www.iteye.com/"; Document doc=Jsoup.parse(divContent,abs); Elements linkStrs=doc.getElementsByTag("li"); System.out.println("链接==="+linkStrs.size()); for(Element linkStr:linkStrs){ String url=linkStr.getElementsByTag("a").attr("abs:href"); String title=linkStr.getElementsByTag("a").text(); System.out.println("标题:"+title+" url:"+url); } }
5.加入main方法里面执行测试
/** * @method 测试获取内容程序 */ public static void main(String[] args) throws IOException { /** * 执行分析程序 */ String url="http://www.iteye.com/"; String HtmlContent=getContentByJsoup(url); String divContent=getDivContentByJsoup(HtmlContent); getLinksByJsoup(divContent); }
6.附上结束语:jsoup功能很好很强大,附上的只是简单的使用方法,还有很多需要完善的内容,我其实使用也不到几天的时间。还有就是select功能还是很好用的,具体参考官方文档,写的非常的通俗易懂!附上程序源码和jsoup的jar包
相关推荐
网页爬虫jsoup的jar包,可以帮组下载网页,方便网页爬虫爱好者抓取分析网页。
软件开发设计:PHP、QT、...云计算与大数据:数据集、包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。
其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始...
网页抓取: 爬虫程序根据指定的URL,访问网页并下载页面内容。 信息解析: 使用Jsoup等HTML解析库解析网页内容,提取信息需要的信息,如标题、内容、链接等。 数据存储: 可以将解析后的数据存储到数据库或文件中,...
网页抓取:爬虫首先通过网络请求获取网页内容。它们可以模拟浏览器行为发送 HTTP 请求,或者直接与服务器通信获取网页数据。 解析网页:获取到网页内容后,爬虫需要解析 HTML 或其他标记语言,提取出有用的信息,如...
其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始...
Java的网络爬虫是一种用于从互联网上获取信息的程序,通常用于抓取网页内容、收集数据或执行其他自动化任务。网络爬虫是搜索引擎、数据挖掘和信息收集等领域的重要工具。 Java的网络爬虫通常基于Java的网络编程库,...
网页抓取:使用Java的网络编程库(如HttpURLConnection、Apache HttpClient等)来发送HTTP请求,获取网页的HTML内容。 网页解析:利用Java的HTML解析库(如Jsoup、HtmlCleaner等)来解析网页的HTML结构,提取出所需...
2. **解析网页**:获取响应的HTML内容,并使用解析库(如Jsoup)提取所需的数据。 3. **提取数据**:编写逻辑代码,从解析后的HTML中提取目标信息。 4. **存储数据**:将提取的数据保存到文件、数据库或其他存储...
其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始...
作为爬虫框架,它使用httpclient作为获取网页工具、使用Jsoup作为分析页面定位抓取内容、使用ExecutorService线程池作为定时增量抓取、Jdiy作为持久层框架。不熟悉这些名词的同学们可以先行百度一下这些都是什么,起...
其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始...
其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始...
其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始...
其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始...
2. **网页抓取**:通过HTTP/HTTPS协议获取网页源代码,支持自定义User-Agent、代理IP等设置。 3. **数据解析**:利用正则表达式或HTML解析库(如Jsoup)从网页中提取所需数据。 4. **存储处理**:支持将抓取到的数据...
其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始...
该项目利用Java的强大网络编程能力,结合多线程和网络协议理解,使得用户可以轻松地收集网页内容、分析数据并存储于本地数据库或文件系统中。对于大学生而言,这个项目不仅是一个实用的技术学习资源,也是毕业设计的...