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是一款非常实用的Java库,专为网页抓取和解析设计。它将复杂的HTML文档转换成易于操作的DOM(Document Object Model)结构,使得开发者可以像处理XML文档一样轻松地获取和操作网页数据。...
Java和Jsoup库在Web数据抓取中的应用广泛,它们为开发者提供了强大的工具来解析HTML文档,提取所需信息,并进一步处理这些数据。本教程将深入探讨如何使用Jsoup进行网页抓取,如何将抓取的数据存储到数据库中,以及...
总之,Jsoup API是处理和解析HTML的强大工具,其易用性和灵活性使其在Web爬虫、网页数据提取和HTML文档操作中广泛应用。结合CSS选择器的便利性,开发者可以高效地实现各种HTML相关的任务。在实际使用中,查阅Jsoup的...
在处理完成后,你可以使用 Document 提供的各种方法来提取数据。...它简化了与网页交互的过程,尤其适合构建爬虫和网页分析应用。通过熟练运用上述方法,你可以有效地解析 HTML 并从中获取所需信息。
这个强大的工具广泛应用于数据挖掘、爬虫项目以及自动化测试等领域。 **1. 获取HTML内容** JSoup支持通过URL直接连接到网页并下载HTML内容。通过`Jsoup.connect()`方法,你可以设置HTTP请求头、超时时间,并处理...
Jsoup在Web抓取、数据分析和网页爬虫项目中广泛应用。本文将深入探讨Jsoup 1.5.2和1.6这两个版本的主要特性、变化以及如何在项目中使用它们。 首先,让我们了解Jsoup的基本功能。Jsoup的核心功能包括: 1. **HTML...
《深入理解Java库:Jsoup解析与应用》 在Java编程世界中,Jsoup是一个非常重要的库,尤其在处理HTML文档和数据抓取时。标题中的"org.jsoup.jar"是Jsoup库的核心组件,它是Jsoup项目的二进制发布形式,包含了所有...
使用Jsoup库文件,开发者可以快速地构建功能丰富的Java应用,实现高效的数据抓取和处理。在实际开发中,结合Java的IO流和多线程技术,可以进一步提升数据处理的速度和效率。 在压缩包"Jsoup库文件"中,可能包含以下...
Jsoup在实际开发中的应用广泛,如网页抓取、信息提取、自动化测试,甚至是构建简单的爬虫。它的易用性和灵活性使得它成为Java开发者处理HTML数据的首选工具之一。通过熟练掌握Jsoup,开发者可以高效地处理网络上的...
3. **数据提取**:jsoup支持提取文本、属性值、链接、图片等HTML元素的数据,这对于网络爬虫或网页抓取应用非常有用。例如,可以轻松获取页面标题、段落内容、链接地址等信息。 4. **HTML清理**:jsoup具备HTML清理...
下面我们将深入探讨jsoup的核心功能和主要应用。 **核心功能** 1. **HTML解析**:jsoup能够解析完整的HTML或XML文档,将其转化为DOM(Document Object Model)结构,与浏览器内部的工作方式类似。这样,开发者可以...
此外,由于它是基于JSoup的,因此具备JSoup的所有功能,可以应用于各种Web爬虫项目,尤其是那些需要解析复杂HTML结构并转换为Java对象的场景。 总结来说,JSoup-Annotations是JSoup库的一个补充,它通过注解的方式...
例如,如果你想创建一个新闻阅读应用,你可以利用Jsoup从各个新闻网站抓取最新的文章标题和摘要。这使得开发者无需依赖网站的API,而是直接处理HTML源码,灵活度大大提高。 首先,让我们了解一下如何使用Jsoup连接...
**使用Jsoup获取网页内容并修改** ...通过学习和熟练掌握Jsoup,你可以高效地实现网页内容的获取与修改,为你的应用增添更多的功能和价值。同时,要注意在实际使用中兼顾性能和安全性,确保用户体验和数据的完整性。
jsoup广泛应用于各种场景,包括: 1. **网页抓取**:通过jsoup,开发者可以构建简单的网页爬虫,获取网页上的数据。 2. **信息提取**:新闻聚合应用、电商价格监控等项目中,jsoup可以帮助提取关键信息。 3. **内容...
jsoup广泛应用于各种项目,包括爬虫框架、内容管理系统、数据提取工具等。通过它,开发者可以高效地解析网页,提取所需信息,甚至进行页面结构的修改和重构。 ### 总结 jsoup-1.7.1.chm这个压缩包包含的是jsoup库...
- **自动化测试**:在测试Web应用时,可以使用Jsoup验证HTML渲染的正确性。 - **内容过滤**:在用户生成内容的场景下,Jsoup可以帮助过滤掉恶意的HTML标签和属性,保障安全。 总的来说,jsoup1.10.3及其API文档是...
在实际应用中,Jsoup广泛用于内容抓取、数据挖掘、自动化测试、网页维护等场景。例如,新闻聚合服务可能利用Jsoup定期抓取各个网站的新闻标题,SEO工具可能用它来检查网站的HTML结构是否符合标准,开发者也可能用它...
例如,新闻聚合应用可能会用Jsoup抓取各个网站的新闻标题和摘要;电商网站可能用它来抓取商品价格和评价信息。 5. **版本信息**:这里的版本号是1.6.1,可能较新版本有所落后。当前最新版的Jsoup可能增加了更多的...