package com.test; import java.io.File; import java.io.FileWriter; import java.net.URL; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; /** *@Author:liangjilong *@Date:2014-8-27 *@Email:jilongliang@sina.com * *@Descript:此程序是抓取中国合格评定国家认可委员会---获准认可机构 */ public class TestReptile { /** * @param args */ public static void main(String[] args) throws Exception { String path = "D:/test/test.txt"; File file = new File(path); if (!file.exists()) { file.createNewFile();// 不存在就创建一个.. String newFlie = file.getPath(); FileWriter fileWriter = new FileWriter(newFlie); int page = 150;// 抓取页数 for (int i = 1; i <= page; i++) { String URL = getUrl(i);// 抓取第一页的内容 System.out.println(URL); Document doc = Jsoup.parse(new URL(URL), 3000); if (doc != null) { Elements divtables = doc.getElementsByAttributeValue("class", "divtable");// 获取div样式class=divtable里面的html内容 for (Element d : divtables) { String a_text = d.select("a").html();// 获取html里面a标签的内容 //System.out.println(a_text); fileWriter.write(a_text); fileWriter.flush(); } } else { System.out.println("网络异常.."); } } fileWriter.close(); } else { System.err.println("文件存在.."); } } /** * @param pageSize页数. * @return */ public static String getUrl(Integer pageSize){ String url="http://219.238.178.49/"; StringBuffer buffer=new StringBuffer(url); buffer.append("Acc_Search2.asp?Class=L&page="+pageSize); return buffer.toString(); } }
import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.util.regex.Pattern; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; /** *@Author:liangjilong *@Date:2014-9-9 */ public class Test2 { private static final String regEx_html = "<[^>]+>"; // 定义HTML标签的正则表达式 /** * @param args */ public static void main(String[] args)throws Exception { Integer pageSize=20; getHtml(pageSize); } /** * @param pageSize * @throws IOException */ private static void getHtml(Integer pageSize) throws IOException { Pattern p_html = Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE); for (int i = 1; i <= pageSize; i++) { String url=getUrl(i); Document doc=Jsoup.connect(url).get(); if(doc!=null){ String fileName=doc.getElementsByAttributeValue("class", "T1").html();//抓取class=T1的内容,作为文件的名称. String path = "D:/test/"+fileName+i+".txt";//路径名/i File file = new File(path); FileWriter fileWriter=null; if (!file.exists()) { file.createNewFile();// 不存在就创建一个. String newFlie = file.getPath(); String htmlEl=doc.getElementsByAttributeValue("class", "clabel").html(); String htmlStr=p_html.matcher(htmlEl).replaceAll("").replaceAll(""", "");// 过滤html标签 fileWriter = new FileWriter(newFlie); fileWriter.write(htmlStr); fileWriter.flush(); } fileWriter.close(); }else{ System.err.println("网络异常!"); } } System.out.println("抓取完成~.."); } /** * @param pageSize页数. */ public static String getUrl(Integer pageSize){ String url="http://219.238.178.49/"; StringBuffer bufferUrl=new StringBuffer(url); bufferUrl.append("BaseInfo.asp?Id="); if(pageSize<=10){ if(pageSize==10){ bufferUrl.append("L000"+pageSize); }else{ bufferUrl.append("L0000"+pageSize); } }else if(pageSize<=100){ if(pageSize==100){ bufferUrl.append("L00"+pageSize); }else{ bufferUrl.append("L000"+pageSize); } }else if(pageSize<=1000){ if(pageSize==1000){ bufferUrl.append("L0"+pageSize); }else{ bufferUrl.append("L00"+pageSize); } } return bufferUrl.toString(); } }
相关推荐
Jsoup以浏览器的方式解析HTML,使得我们可以方便地通过CSS选择器来查找和操作元素,极大地简化了这一过程。 ### Jsoup的基本概念 1. **Jsoup连接(Connection)**:使用Jsoup的第一步是建立到目标网页的连接。这...
在"网易贵金属"的例子中,你可能需要使用HttpClient发送GET请求到网易贵金属的页面,然后使用Jsoup解析返回的HTML,找到包含贵金属价格、新闻等信息的部分,从而实现数据抓取。实际操作时,可能还需要考虑登录、分页...
以下是关于如何使用Java+Jsoup抓取网页数据的详细讲解。 首先,你需要了解HTML的基础结构,因为Jsoup的工作原理是解析HTML文档并提供类似于DOM的API来操作这些文档。HTML是由标签组成的树形结构,每个标签都有属性...
二、Jsoup解析HTML 1. **连接并下载HTML文档**:Jsoup提供`connect()`方法连接到URL并下载HTML内容,然后使用`get()`方法获取下载的文档。 ```java Document doc = Jsoup.connect("http://example.com").get(); ...
Jsoup是一个非常强大的Java库,它使得解析HTML和抓取网页数据变得简单易行。本教程将深入探讨如何使用Jsoup有效地从网页中提取信息,并最终将其转化为JSON格式,为数据分析或应用程序接口(API)提供便利。 ### 1. ...
在Android开发中,Jsoup是一个非常实用的库,它允许开发者通过Java的DOM、CSS以及类似于jQuery的方法来解析HTML文档,从而实现网络爬虫的功能。本文将深入探讨如何利用Jsoup在Android环境中抓取和处理网页信息。 ...
这个压缩包文件“用Jsoup解析html的所有jar包”显然是包含了使用Jsoup进行HTML解析所需的全部依赖。 首先,我们需要了解Jsoup的基本用法。Jsoup的核心功能在于它能够通过连接到一个URL或读取本地HTML文件来获取HTML...
这通常涉及到构造特定的URL,可能包含登录凭据和其他必要参数,然后使用Jsoup解析返回的HTML页面,提取出所需的数据。类似地,对于茂名公交信息的抓取,开发者可能利用Http请求获取公交线路、时刻表等数据,再通过...
// 使用Jsoup解析HTML内容 Document doc = Jsoup.parse(htmlContent); // 提取HTML中的数据,例如,获取所有的链接 Elements links = doc.select("a[href]"); for (Element link : links) { System.out....
- **数据抓取**:从网页抓取新闻、评论、产品信息等。 - **本地HTML解析**:处理存储在本地的HTML文件,提取有用信息。 - **动态更新UI**:根据网页内容动态更新应用的用户界面。 - **网络请求优化**:预加载和缓存...
在名为"NewSipder"的项目中,你可能正在构建一个网络爬虫,利用JSoup解析HTML内容。爬虫可能包括以下步骤: 1. **设置连接参数**:配置Jsoup连接,如超时时间、重试次数等。 2. **抓取页面**:使用`Jsoup.connect()...
jsoup能够解析HTML,执行DOM操作,并且支持CSS选择器,这些功能使得它在网页抓取和数据挖掘领域具有很高的实用性。 **网页抓取** 网页抓取,也称为网络爬虫或网页抓取,是一种技术,用于自动化地从互联网上获取...
在Web开发中,经常需要从网页抓取数据,例如爬虫、数据提取或者自动化测试,这时就需要用到HTML解析工具。 **jsoup的核心概念** 1. **连接(Connection)**:jsoup通过`Jsoup.connect()`方法建立与目标网页的连接...
标题中的"jsoup解析html所需包1.7.3"表明我们将讨论的是JSoup 1.7.3版本,这个版本包含了三个关键的组件。 1. **jsoup-1.7.3.jar**:这是JSoup的核心库文件,包含了所有用于解析HTML的类和方法。开发人员在项目中...
例如,如果你想要抓取一个新闻网站的最新文章标题,可以先使用HttpClient发送请求获取网页源码,再用Jsoup解析HTML,找到包含文章标题的元素: ```java CloseableHttpClient httpClient = HttpClients.create...
在本文中,我们将深入探讨如何利用Jsoup解析HTML,以便获取新闻列表等网页数据。首先,让我们了解Jsoup的基本用法,然后通过实例演示如何从一个HTML页面中提取新闻列表。 1. **Jsoup简介** - Jsoup是由Jonathon ...
接下来,我们可以通过以下步骤使用Jsoup解析和抓取数据: 1. 连接到网页:使用Jsoup的`connect()`方法建立HTTP连接,获取网页内容。 ```java Document doc = Jsoup.connect("http://example.com").get(); ``` 2. ...
在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。本示例是关于如何使用Jsoup库异步抓取...学习这个示例可以帮助你理解Android中网络数据获取与UI更新的同步机制,以及如何利用Jsoup解析HTML数据。
在Android开发中,我们经常需要从网页抓取数据,比如解析新闻标题、获取图片链接或者提取用户评论等。Jsoup提供了一种简单、安全且有效的方法来解析和操作HTML文档,使得开发者能够轻松地从网页中提取结构化数据。 ...
使用jsoup解析HTML文档,可以使用`Jsoup.connect(url)`或`Jsoup.parse(htmlString)`方法。例如: ```java import org.jsoup.Jsoup; import org.jsoup.nodes.Document; public class JsoupExample { public static...