/***
* 美图抓取
* http://www.tupianzj.com/meinv/
* @time 2014-9-5上午11:10:25
*/
public static void search2() {
String httpUrl = "http://www.tupianzj.com/meinv/";
try {
Document doc = Jsoup.connect(httpUrl).get();
Elements items = doc.select(".meinv970 dl");
System.out.println(items);
for(Element item:items){
Elements childItemsDT = item.select("dt h2 a");
String title=childItemsDT.html();
System.out.println(childItemsDT.html());
Elements childItemsDD1 = item.select("dd li a img");
for(Element childItemdd1:childItemsDD1){
String picUrl0=childItemdd1.attr("src");
saveImg("小",title, picUrl0);
System.out.println(picUrl0);
}
Elements childItemsDD2 = item.select("dd li .moxflashtext a");
System.out.println(childItemsDD2);
for(Element childItem:childItemsDD2){
String secondUrl="http://www.tupianzj.com"+childItem.attr("href");
Document childDoc = Jsoup.connect(secondUrl).get();
String picUrl=childDoc.select(".pictu900 img").attr("src");
System.out.println(picUrl);
saveImg("大",title, picUrl);
Elements thirdChilds=childDoc.select(".pages li a");
for(Element thirdChild:thirdChilds){
String isHave = thirdChild.attr("href");
if(!"".endsWith(isHave) && !"javascript:dPlayPre();".endsWith(isHave) && !"#".endsWith(isHave) && !"#".endsWith(isHave)){
String url=secondUrl.substring(0,secondUrl.lastIndexOf("/")+1)+isHave;
Document secondChildDoc = Jsoup.connect(url).get();
String picUrl1=secondChildDoc.select(".pictu900 img").attr("src");
System.out.println(picUrl1);
saveImg("大",title, picUrl1);
}
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
/***
* 保存图片
* @time 2014-9-5上午11:10:25
*/
public static String saveImg(String tag,String name,String picUrl) {
String fileName = "";
fileName = tag+System.currentTimeMillis()+".jpg";
File realDirectory = new File("D:/pic/"+name+"/");
if (!realDirectory.exists()) {
realDirectory.mkdirs();
}
try {
// 构造URL
URL url = new URL(picUrl);
// 打开连接
URLConnection con = url.openConnection();
// 输入流
InputStream is = con.getInputStream();
// 1K的数据缓冲
byte[] bs = new byte[1024];
// 读取到的数据长度
int len;
// 输出的文件流
OutputStream os = new FileOutputStream("D:/pic/"+name+"/"+fileName);
// 开始读取
while ((len = is.read(bs)) != -1) {
os.write(bs, 0, len);
}
// 完毕,关闭所有链接
os.close();
is.close();
} catch (Exception e) {
e.printStackTrace();
}
return fileName;
}
分享到:
相关推荐
这个示例提供了基础的网络数据抓取和ListView填充流程,实际项目中可能还需要处理更多细节,例如数据缓存、错误重试、网络状态检测等。学习这个示例可以帮助你理解Android中网络数据获取与UI更新的同步机制,以及...
总结来说,这个项目利用Jsoup和Java的强大力量,实现了高效、全面的网站抓取功能,不仅可以抓取HTML内容,还能抓取并保存相关资源,为离线浏览、数据备份和分析提供了便利。通过学习和掌握这种方法,开发者可以更好...
在这个主题中,我们将深入探讨两个关键概念:Http协议和Jsoup库,它们是实现网页数据抓取的核心工具。 **Http协议** 是互联网上应用最为广泛的一种数据传输协议,全称为超文本传输协议。它定义了客户端(通常是...
总之,HttpClient和Jsoup是Java开发者进行网页数据抓取的强大工具。HttpClient提供可靠的HTTP通信,而Jsoup则简化了HTML解析和数据提取的过程。结合两者,你可以高效地从各种网页中获取你需要的信息。在实际项目中,...
在版本1.8.1中,jsoup保持了其一贯的高效和易用性,使得开发者能够轻松地实现网页数据抓取和爬虫功能。 **一、jsoup基本概念** 1. HTML解析:jsoup能够将HTML文档解析成一个DOM(Document Object Model)结构,这样...
在IT行业中,网络数据抓取是一项重要的技能,它允许开发者获取和分析大量互联网上的信息。本教程将聚焦于使用Java和Jsoup库来实现这一目标。Jsoup是Java的一个库,设计用于处理真实世界的HTML,提供了强大的解析、...
本项目是一个基于安卓的简单利用jsoup爬取学校内网数据的教务系统app,设计的部分有:个人信息、课程表、考试时间、考勤信息、成绩查询、奖惩情况、开设课程、晚归违规等部分。主要思路就是利用jsoup爬数据把数据转化...
本文将深入探讨如何使用jsoup这个Java库来实现异步抓取新闻数据,并将其装载到Android的ListView中,模拟开源中国资讯列表的功能。 首先,我们需要了解jsoup。Jsoup是一个用于处理实际世界HTML的Java库。它提供了...
**Jsoup:网页数据抓取与JSON转换** Jsoup是一个非常强大的Java库,它使得解析HTML和抓取网页数据变得简单易行。本教程将深入探讨如何使用Jsoup有效地从网页中提取信息,并最终将其转化为JSON格式,为数据分析或...
**Jsoup:网页抓取与解析利器** Jsoup是一个用于处理实际世界HTML的Java库。它提供了非常方便的API,用于提取和操作数据,使用DOM,CSS和微选择器。在本篇中,我们将深入探讨如何使用Jsoup来抓取整个网站,并将其...
在IT行业中,数据抓取是一项至关重要的技能,特别是在大数据分析、网站维护和搜索引擎优化等场景。这里我们关注的是一个名为`jsoup`的Java库,它专门用于处理HTML文档,帮助开发者轻松地抓取和解析网页内容。本文将...
soup 是一款 Java 的HTML 解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于JQuery的操作方法来取出和操作数据。
以下是使用Jsoup进行数据抓取的基本步骤: 1. **引入依赖**:在Java项目中,你需要在构建文件(如Maven的pom.xml或Gradle的build.gradle)中添加Jsoup的依赖。例如,在Maven中: ```xml <groupId>org.jsoup ...
在IT领域,网站数据抓取是一项重要的技能,用于获取网页上的结构化信息,例如新闻文章、产品价格或用户评论。本项目重点介绍了如何利用htmlunit2.8和jsoup1.7这两个强大的库来实现这一目标。下面我们将深入探讨这两...
**数据抓取步骤:** 1. **初始化Jsoup**:创建`Jsoup`对象,设置URL,连接网站。 2. **遍历专题**:解析专题列表页,获取每个专题的链接。 3. **抓取专题详情**:对每个专题,进一步访问其详情页,抓取所有报道的URL...
本教程将详细介绍如何结合使用HttpClient与Jsoup来抓取和处理网页数据。 HttpClient是Apache基金会开发的一个开放源代码库,它允许开发者发送HTTP请求并接收响应,支持多种HTTP协议版本。HttpClient提供了丰富的...
jsoup能够解析HTML,执行DOM操作,并且支持CSS选择器,这些功能使得它在网页抓取和数据挖掘领域具有很高的实用性。 **网页抓取** 网页抓取,也称为网络爬虫或网页抓取,是一种技术,用于自动化地从互联网上获取...
这个"小demo"可能是简单的Java应用,包含一个主类,通过Jsoup抓取网页信息后,使用PreparedStatement将数据存入MySQL。文件名"Jsoup获取网页内容实例"暗示了示例代码可能包含如何使用Jsoup进行网页解析的片段。 ...
在Web开发和数据抓取领域,Java爬虫技术是实现网页自动化信息提取的重要手段。本文主要讲述如何利用Java编程语言中的Jsoup库和HttpClient工具包来获取和解析动态生成的数据,特别是那些通过JavaScript动态加载的数据...
通过学习和运行这个示例,你可以掌握使用Jsoup抓取和保存整个网站的基本技巧,这对于网络爬虫开发、数据分析或者网站备份都非常有帮助。 请注意,进行网页抓取时需遵守网站的robots.txt文件规定以及相关的网络使用...