`

Jsoup数据抓取

 
阅读更多
/***
	 * 美图抓取
	 * 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相关相关-使用jsoup异步抓取新闻数据装载listview(仿开源中国资讯列表.rar

    这个示例提供了基础的网络数据抓取和ListView填充流程,实际项目中可能还需要处理更多细节,例如数据缓存、错误重试、网络状态检测等。学习这个示例可以帮助你理解Android中网络数据获取与UI更新的同步机制,以及...

    使用Jsoup,抓取整个网站(包括图片、js、css)

    总结来说,这个项目利用Jsoup和Java的强大力量,实现了高效、全面的网站抓取功能,不仅可以抓取HTML内容,还能抓取并保存相关资源,为离线浏览、数据备份和分析提供了便利。通过学习和掌握这种方法,开发者可以更好...

    Http,Jsoup-网页数据抓取

    在这个主题中,我们将深入探讨两个关键概念:Http协议和Jsoup库,它们是实现网页数据抓取的核心工具。 **Http协议** 是互联网上应用最为广泛的一种数据传输协议,全称为超文本传输协议。它定义了客户端(通常是...

    httpClient+jsoup 抓取网页数据

    总之,HttpClient和Jsoup是Java开发者进行网页数据抓取的强大工具。HttpClient提供可靠的HTTP通信,而Jsoup则简化了HTML解析和数据提取的过程。结合两者,你可以高效地从各种网页中获取你需要的信息。在实际项目中,...

    jsoup1.8.1抓取爬虫工具

    在版本1.8.1中,jsoup保持了其一贯的高效和易用性,使得开发者能够轻松地实现网页数据抓取和爬虫功能。 **一、jsoup基本概念** 1. HTML解析:jsoup能够将HTML文档解析成一个DOM(Document Object Model)结构,这样...

    java+jsoup抓取网页数据

    在IT行业中,网络数据抓取是一项重要的技能,它允许开发者获取和分析大量互联网上的信息。本教程将聚焦于使用Java和Jsoup库来实现这一目标。Jsoup是Java的一个库,设计用于处理真实世界的HTML,提供了强大的解析、...

    Android项目源码简单利用jsoup爬取学校内网数据

    本项目是一个基于安卓的简单利用jsoup爬取学校内网数据的教务系统app,设计的部分有:个人信息、课程表、考试时间、考勤信息、成绩查询、奖惩情况、开设课程、晚归违规等部分。主要思路就是利用jsoup爬数据把数据转化...

    使用jsoup异步抓取新闻数据装载listview(仿开源中国资讯列表)

    本文将深入探讨如何使用jsoup这个Java库来实现异步抓取新闻数据,并将其装载到Android的ListView中,模拟开源中国资讯列表的功能。 首先,我们需要了解jsoup。Jsoup是一个用于处理实际世界HTML的Java库。它提供了...

    用jsoup抓取网页数据

    **Jsoup:网页数据抓取与JSON转换** Jsoup是一个非常强大的Java库,它使得解析HTML和抓取网页数据变得简单易行。本教程将深入探讨如何使用Jsoup有效地从网页中提取信息,并最终将其转化为JSON格式,为数据分析或...

    Jsoup抓取整个网站

    **Jsoup:网页抓取与解析利器** Jsoup是一个用于处理实际世界HTML的Java库。它提供了非常方便的API,用于提取和操作数据,使用DOM,CSS和微选择器。在本篇中,我们将深入探讨如何使用Jsoup来抓取整个网站,并将其...

    JAR包—jsoup HTML抓取

    在IT行业中,数据抓取是一项至关重要的技能,特别是在大数据分析、网站维护和搜索引擎优化等场景。这里我们关注的是一个名为`jsoup`的Java库,它专门用于处理HTML文档,帮助开发者轻松地抓取和解析网页内容。本文将...

    jsoup页面抓取工具

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

    Jsoup抓取实例

    以下是使用Jsoup进行数据抓取的基本步骤: 1. **引入依赖**:在Java项目中,你需要在构建文件(如Maven的pom.xml或Gradle的build.gradle)中添加Jsoup的依赖。例如,在Maven中: ```xml <groupId>org.jsoup ...

    htmlunit2.8 + jsoup1.7网站数据抓取

    在IT领域,网站数据抓取是一项重要的技能,用于获取网页上的结构化信息,例如新闻文章、产品价格或用户评论。本项目重点介绍了如何利用htmlunit2.8和jsoup1.7这两个强大的库来实现这一目标。下面我们将深入探讨这两...

    用jsoup自动抓取每个专题及其专题下网页报道(包括每个新闻的标题、正文、URL)并存入数据库(SQL Server)

    **数据抓取步骤:** 1. **初始化Jsoup**:创建`Jsoup`对象,设置URL,连接网站。 2. **遍历专题**:解析专题列表页,获取每个专题的链接。 3. **抓取专题详情**:对每个专题,进一步访问其详情页,抓取所有报道的URL...

    httpClient+jsoup抓取网页数据实例和jar包

    本教程将详细介绍如何结合使用HttpClient与Jsoup来抓取和处理网页数据。 HttpClient是Apache基金会开发的一个开放源代码库,它允许开发者发送HTTP请求并接收响应,支持多种HTTP协议版本。HttpClient提供了丰富的...

    jsoup 网页信息 抓取 选择器

    jsoup能够解析HTML,执行DOM操作,并且支持CSS选择器,这些功能使得它在网页抓取和数据挖掘领域具有很高的实用性。 **网页抓取** 网页抓取,也称为网络爬虫或网页抓取,是一种技术,用于自动化地从互联网上获取...

    Java使用Jsoup抓取网页关键信息并入库

    这个"小demo"可能是简单的Java应用,包含一个主类,通过Jsoup抓取网页信息后,使用PreparedStatement将数据存入MySQL。文件名"Jsoup获取网页内容实例"暗示了示例代码可能包含如何使用Jsoup进行网页解析的片段。 ...

    Java爬虫Jsoup+httpclient获取动态生成的数据

    在Web开发和数据抓取领域,Java爬虫技术是实现网页自动化信息提取的重要手段。本文主要讲述如何利用Java编程语言中的Jsoup库和HttpClient工具包来获取和解析动态生成的数据,特别是那些通过JavaScript动态加载的数据...

    Jsoup抓取一个完整的网站.rar

    通过学习和运行这个示例,你可以掌握使用Jsoup抓取和保存整个网站的基本技巧,这对于网络爬虫开发、数据分析或者网站备份都非常有帮助。 请注意,进行网页抓取时需遵守网站的robots.txt文件规定以及相关的网络使用...

Global site tag (gtag.js) - Google Analytics