`

Jsoup的应用

    博客分类:
  • JS
 
阅读更多

JSOUP解析页面的方法

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

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

public class MatchAmazon {
	
	public static MatchInfo getProductCode(ProductInfo productInfo){
		
		String scriptCode = productInfo.getScriptCode();
		Document doc = null;
		MatchInfo opponInfo = new MatchInfo();
		try {
			doc = Jsoup.connect("http://www.amazon.cn/s/ref=nb_sb_noss?__mk_zh_CN=%E4%BA%9A%E9%A9%AC%E9%80%8A%E7%BD%91%E7%AB%99&url=search-alias%3Daps&field-keywords="+scriptCode).userAgent("Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.19) Gecko/20110707 Firefox/3.6.19").get();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		String detail = "";
		if (null != doc) {
			Elements doc1 = doc.select("div#atfResults.list");
			if (null != doc1) {
				detail = doc1.html();
			}
		}
		if (detail == "" || detail.equals("")) {
			opponInfo.setId(productInfo.getId());
			opponInfo.setProductId(productInfo.getProductId());
			opponInfo.setProductName(productInfo.getProductName());
			opponInfo.setScriptCode(scriptCode);
			opponInfo.setProductCode(productInfo.getProductCode());
			return opponInfo;
		} else {
			String productCode = detail.substring(detail.indexOf("name=") + 6, detail.indexOf("\">"));
			String productName = doc.select("div#result_0.result div.data h3.title").first().text();
			System.out.println("productCode:" + productCode + "\tproductName:" + productName);

			opponInfo.setId(productInfo.getId());
			opponInfo.setProductId(productInfo.getProductId());
			opponInfo.setProductName(productInfo.getProductName());
			opponInfo.setScriptCode(scriptCode);
			opponInfo.setOpponProductCode(productCode);
			opponInfo.setProductCode(productInfo.getProductCode());
			opponInfo.setOpponProductName(productName);
			return opponInfo;
		}
	}

	public static void exportAmazonToExcel(String filePath, Integer startIndex, Integer length, String fileName) throws Exception{
		CsvImporter csvImporter = new CsvImporter(filePath);
		List<ProductInfo> dataList = csvImporter.nextRows(startIndex,length);
		List<MatchInfo> result = new ArrayList<MatchInfo>();
		for (ProductInfo productInfo : dataList) {
			MatchInfo matchResult = getProductCode(productInfo);
			if (null != matchResult) {
				if (matchResult.getOpponProductCode() == "") {
					matchResult = getProductCode(productInfo);					
						result.add(matchResult);				
				}
				result.add(matchResult);
			}
		}
		System.out.println(result.size());
		try {
			MatchDtoToExcel.MatchInfo2Excel(result, fileName);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
分享到:
评论

相关推荐

    jsoup应用包

    **jsoup应用包详解** jsoup是一款非常实用的Java库,专为网页抓取和解析设计。它将复杂的HTML文档转换成易于操作的DOM(Document Object Model)结构,使得开发者可以像处理XML文档一样轻松地获取和操作网页数据。...

    java jsoup应用爬取数据存储数据库及日志开关

    Java和Jsoup库在Web数据抓取中的应用广泛,它们为开发者提供了强大的工具来解析HTML文档,提取所需信息,并进一步处理这些数据。本教程将深入探讨如何使用Jsoup进行网页抓取,如何将抓取的数据存储到数据库中,以及...

    JsoupAPI(jsoup帮助文档)

    总之,Jsoup API是处理和解析HTML的强大工具,其易用性和灵活性使其在Web爬虫、网页数据提取和HTML文档操作中广泛应用。结合CSS选择器的便利性,开发者可以高效地实现各种HTML相关的任务。在实际使用中,查阅Jsoup的...

    Jsoup 1.5.2 和jsoup 1.6

    Jsoup在Web抓取、数据分析和网页爬虫项目中广泛应用。本文将深入探讨Jsoup 1.5.2和1.6这两个版本的主要特性、变化以及如何在项目中使用它们。 首先,让我们了解Jsoup的基本功能。Jsoup的核心功能包括: 1. **HTML...

    jsoup中文帮助文档

    在处理完成后,你可以使用 Document 提供的各种方法来提取数据。...它简化了与网页交互的过程,尤其适合构建爬虫和网页分析应用。通过熟练运用上述方法,你可以有效地解析 HTML 并从中获取所需信息。

    org.jsoup.jar

    《深入理解Java库:Jsoup解析与应用》 在Java编程世界中,Jsoup是一个非常重要的库,尤其在处理HTML文档和数据抓取时。标题中的"org.jsoup.jar"是Jsoup库的核心组件,它是Jsoup项目的二进制发布形式,包含了所有...

    Jsoup库文件;Jsoup解析Java包

    使用Jsoup库文件,开发者可以快速地构建功能丰富的Java应用,实现高效的数据抓取和处理。在实际开发中,结合Java的IO流和多线程技术,可以进一步提升数据处理的速度和效率。 在压缩包"Jsoup库文件"中,可能包含以下...

    Jsoup

    Jsoup在实际开发中的应用广泛,如网页抓取、信息提取、自动化测试,甚至是构建简单的爬虫。它的易用性和灵活性使得它成为Java开发者处理HTML数据的首选工具之一。通过熟练掌握Jsoup,开发者可以高效地处理网络上的...

    jsoup-jsoup-1.6.1.zip

    3. **数据提取**:jsoup支持提取文本、属性值、链接、图片等HTML元素的数据,这对于网络爬虫或网页抓取应用非常有用。例如,可以轻松获取页面标题、段落内容、链接地址等信息。 4. **HTML清理**:jsoup具备HTML清理...

    jsoup的jar包

    下面我们将深入探讨jsoup的核心功能和主要应用。 **核心功能** 1. **HTML解析**:jsoup能够解析完整的HTML或XML文档,将其转化为DOM(Document Object Model)结构,与浏览器内部的工作方式类似。这样,开发者可以...

    jsoup-annotations是Jsoup注解的POJO

    此外,由于它是基于JSoup的,因此具备JSoup的所有功能,可以应用于各种Web爬虫项目,尤其是那些需要解析复杂HTML结构并转换为Java对象的场景。 总结来说,JSoup-Annotations是JSoup库的一个补充,它通过注解的方式...

    Jsoup解析与使用

    例如,如果你想创建一个新闻阅读应用,你可以利用Jsoup从各个新闻网站抓取最新的文章标题和摘要。这使得开发者无需依赖网站的API,而是直接处理HTML源码,灵活度大大提高。 首先,让我们了解一下如何使用Jsoup连接...

    使用jsoup获取网页内容并修改

    **使用Jsoup获取网页内容并修改** ...通过学习和熟练掌握Jsoup,你可以高效地实现网页内容的获取与修改,为你的应用增添更多的功能和价值。同时,要注意在实际使用中兼顾性能和安全性,确保用户体验和数据的完整性。

    jsoup-jsoup-1.12.2.zip

    jsoup广泛应用于各种场景,包括: 1. **网页抓取**:通过jsoup,开发者可以构建简单的网页爬虫,获取网页上的数据。 2. **信息提取**:新闻聚合应用、电商价格监控等项目中,jsoup可以帮助提取关键信息。 3. **内容...

    jsoup-1.7.1 chm

    jsoup广泛应用于各种项目,包括爬虫框架、内容管理系统、数据提取工具等。通过它,开发者可以高效地解析网页,提取所需信息,甚至进行页面结构的修改和重构。 ### 总结 jsoup-1.7.1.chm这个压缩包包含的是jsoup库...

    jsoup1.10.3包和jsoupApi帮助文档

    - **自动化测试**:在测试Web应用时,可以使用Jsoup验证HTML渲染的正确性。 - **内容过滤**:在用户生成内容的场景下,Jsoup可以帮助过滤掉恶意的HTML标签和属性,保障安全。 总的来说,jsoup1.10.3及其API文档是...

    jsoup-1.11.3.jar

    在实际应用中,Jsoup广泛用于内容抓取、数据挖掘、自动化测试、网页维护等场景。例如,新闻聚合服务可能利用Jsoup定期抓取各个网站的新闻标题,SEO工具可能用它来检查网站的HTML结构是否符合标准,开发者也可能用它...

    Jsoup工具jar包

    例如,新闻聚合应用可能会用Jsoup抓取各个网站的新闻标题和摘要;电商网站可能用它来抓取商品价格和评价信息。 5. **版本信息**:这里的版本号是1.6.1,可能较新版本有所落后。当前最新版的Jsoup可能增加了更多的...

    jsoup爬虫中文api

    ### Jsoup爬虫技术及其API应用 #### 一、Jsoup简介 Jsoup是一款用于Java的应用程序接口(API),主要用于从HTML文档中提取和操作数据。它提供了强大的功能,包括解析HTML文档、清洗用户输入的数据、从网站抓取数据等...

Global site tag (gtag.js) - Google Analytics