`
jilong-liang
  • 浏览: 472193 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

Jsoup解析html抓取网页数据

阅读更多
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("&quot;", "");// 过滤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获取新闻列表

    使用jsoup解析hmtl,获取对应数据

    使用java-jsoup解析html页面内容,爬取想要的信息(如号段)

    jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。 jsoup 可以从包括字符串、URL 地址...

    jsoup:Java HTML 解析器

    从 URL、文件或字符串中抓取并解析HTML 使用 DOM 遍历或 CSS 选择器查找并提取数据 操作HTML 元素、属性和文本 根据安全列表清理用户提交的内容,以防止 XSS 攻击 输出整洁的 HTML jsoup 旨在处理各种常见的 HTML;...

    Java爬虫入门——使用Jsoup解析HTML页面.zip

    爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL...

    豆瓣网站数据抓取JSOUP

    通过java程序获取豆瓣排名前多少的电视剧列表,获取电视剧的详细信息,筛选自己喜欢演员的电视剧,电影列表。通过JSOUP来解析HTML内容。

    android使用Jsoup 抓取页面的数据

    本篇文章主要介绍了android使用Jsoup 抓取页面的数据,jsoup 是一款Java的HTML解析器,有需要的朋友可以了解一下。

    jsoup页面抓取工具

    soup 是一款 Java 的HTML 解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于JQuery的操作方法来取出和操作数据。

    jsoup-1.13.1.jar Java爬虫经典框架 抓取网页内容

    jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。

    手把手教学Android用jsoup解析html实例

    很多时候,我们需要从各种网页上面抓取数据,而jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。 ...

    jsoupScraping:使用 jsoup html 解析器从 Espncricinfo 抓取玩家数据

    jsoupScraping 使用 jsoup html 解析器从 Espncricinfo 抓取玩家数据 用于抓取数据并将其存储为 json 格式的 Java 代码。... ScrapePlayer - 函数将播放器 url 作为输入并从网页中抓取数据。 (访问 html 元素)

    Java利用HtmlUtil和jsoup爬取知网中国专利数据的爬虫程序.zip

    爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL...

    基于Java实现网络爬虫(蜘蛛)

    页面解析: 利用Jsoup等HTML解析库解析HTML页面,提取所需信息。 并发处理: 可以利用多线程或异步处理技术,提高爬虫的处理效率。 数据存储: 将爬取到的数据存储到数据库中,方便后续分析和应用。 定时调度: 可以...

    jsoup:jsoup:Java HTML解析器,构建用于HTML编辑,清理,抓取和XSS安全

    从URL,文件或字符串中抓取并HTML 使用DOM遍历或CSS选择器查找和处理,属性和文本根据安全列表用户提交的内容,以防止XSS攻击输出整洁HTML jsoup旨在处理野外发现的所有各种HTML; 从原始和验证到无效的标签汤; ...

    java项目源码之网络爬虫(蜘蛛)的实现.rar

    页面解析:网络爬虫会解析抓取到的网页内容,提取出其中的有用信息,如链接、文本内容、图片等。常用的解析技术包括正则表达式、HTML解析器(如Jsoup)、XPath等。 链接管理:爬虫会管理已抓取的链接,并根据一定的...

    搜索链接Java网络爬虫(蜘蛛)源码-zhizhu

    网页解析:利用Java的HTML解析库(如Jsoup、HtmlCleaner等)来解析网页的HTML结构,提取出所需的数据元素。 数据提取:根据特定的规则或正则表达式,从解析后的HTML中提取出目标数据。 多线程与异步处理:为了提高...

    基于Jsoup的 Android 网络爬虫,抓取海投网上的高校宣讲会信息。.zip

    爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL...

    Java爬虫:实现信息抓取的完整实例源码

    2. **解析网页**:获取响应的HTML内容,并使用解析库(如Jsoup)提取所需的数据。 3. **提取数据**:编写逻辑代码,从解析后的HTML中提取目标信息。 4. **存储数据**:将提取的数据保存到文件、数据库或其他存储...

    Java网络蜘蛛(爬c)源码.zip

    Java的网络爬虫是一种用于从互联网上获取信息的程序,通常用于抓取网页内容、收集数据或执行其他自动化任务。网络爬虫是搜索引擎、数据挖掘和信息收集等领域的重要工具。 Java的网络爬虫通常基于Java的网络编程库,...

Global site tag (gtag.js) - Google Analytics