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是一款及其方便的javacv爬虫使用工具,至少我只用来写爬虫。它把获得的请求转化未dom,可以用dom的方式读取其中想要的数据
Jsoup应用教程
JavaScript应用实例-jsoupDemo.js
Android开发一大神器——Jsoup.pdf
笑话故事jsoup库使用.zip项目安卓应用源码下载笑话故事jsoup库使用.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考
android应用源码利用ZXing Jsoup 和豆瓣API做出的图书搜索源码.,android安卓实例应用源代码,仅供学习及设计参考。
在另一方面,如果是一个简单或者独立的应用,确定只有一种日志系统,那么就没有使用SLF4J的必要。假设你打算将你使用log4j的产品卖给要求使用JDK 1.4 Logging的用户时,面对成千上万的log4j调用的修改,相信这绝对...
jsoup学习用的JAR包 复合页面,始终是一个开发web应用时必须面对的问题,对struts的titles有厌倦,听说sitemesh不错,尝试,原以为复杂,谁知用起来是那么地简单,太令人惊叹! 写下试用教程: 1.准备一个web项目,...
基于Jsoup的多线程java爬虫应用,爬取京东网商品信息并存入数据库。.zip
MVP Retrofit RxJava Jsoup Glide Material Design Reading Android App
jSoupDemo 这使用jSoup html解析器来解析Playstore页面以检索应用程序的类别。 待办事项-应用程序名称徽标发布者等级评论缩略图
Android是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的移动操作系统,主要应用于移动设备,如智能手机和平板电脑。该系统最初由安迪·鲁宾开发,后被Google公司收购并注资,随后与多家硬件制造商、软件...
从weather.gov抓取天气信息的小型java应用程序 在 Eclipse 中使用 java 和 jsoup。 试图学习一些关于 webscraping 和 html 的知识。
BMK01_JSOUP 开发用于移动设备的程序 使用JSOUP技术解析网页中的数据以使用HTML 8号实验室工作 选件编号1 应用界面
《纽约时报》是Minimal News:rolled-up_newspaper:Android应用程序,旨在描述JSoup与现代Android开发工具的结合使用。 Times纽约时报Times纽约时报是an最小新闻:rolled-up_newspaper:Android应用程序,旨在描述JSoup...
使用 Jsoup 解析器和正则表达式测试从网站提取数据的简单应用程序。 它允许您输入查询(Jsoup 选择器)并可选择从中提取值的属性。 对于正则表达式,它允许您输入正则表达式,然后显示从第一组提取的值(即将支持...
促销 Diskon Terbaru 一个使用 jsoup 抓取网站的 android 应用程序,以提供有关促销和折扣的信息。 预习
爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL...
谷歌游戏工具从 CSV 读取应用程序。 使用 JSoup 解析所有数据。 使用 JavaFX 显示所有内容。