非常简单Jsoup爬虫

这个只是简单的爬虫例子,适合初学者学习,了解,当然如果你想弄高级点,可以把你爬到的数据,通过实体类保存起来,关键是方法。

做了两个小例子:

1、爬取一个网站的新闻标题和新闻url.

2、爬取网站的图片,并保存到本地

如果使用maven,在pom.xml加入:

 <!-- jsoup 网络爬虫 -->
        <dependency>
    		<groupId>org.jsoup</groupId>
    		<artifactId>jsoup</artifactId>
    		<version>1.9.2</version>
	</dependency>

下面是具体代码:

package com.xl.ssm.jsoup;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;
import java.net.URLConnection;

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

/**
 * 爬虫
 * @author 黑夜
 *
 */
public class Jsoup {
	public static void main(String[] args) {
//		jsoupTest();
		jsoupImg();
	}

	/**
	 * 爬取头部导航新闻,路径和标题
	 */
	public static void jsoupTest(){
	//要爬的网站页面	
		String url="http://www.91jiangren.com/shopping/index.htm";	
		try {
			//得到页面文档模型
			Document doc = org.jsoup.Jsoup.connect(url).get();
			//得到div为scorllMsg 下的li下的所有a标签
			Elements ele =  doc.select("div#scorllMsg li a");
			//循环
			for (Element element : ele) {
				String uri	 = element.attr("href");
				String json = element.text();
				System.out.println(json+"\t\t"+uri);
				
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * 爬去頁面的图片,便保存在本地
	 */
	public static void jsoupImg(){
		//如果路径不存在就创建
		String path = "C://Users//lh//Desktop//jsoup";
		File f = new File(path);
		if(!f.exists()){
			f.mkdirs();
		}
		//要爬的网站页面 
		String url="http://www.91jiangren.com/shopping/index.htm";	
		try {
			//得到页面文档模型
			Document doc = org.jsoup.Jsoup.connect(url).get();
			//得到img标签并且src以png/jpeg结尾的
			Elements ele = doc.select("img[src~=(?i)\\.(png|jpe?g)]");
			//循环
			for (Element element : ele) {
				//获取图片路径
				String json = element.attr("src");
				//获取图片名称: 以最后面一个斜杠为开始
				String imgname = json.substring(json.lastIndexOf("/")+1,json.length());
				
				//把图片写入到本地
				URL u = new URL(json);
				URLConnection con = u.openConnection();
				InputStream inp= con.getInputStream();
				OutputStream out = new FileOutputStream(new File(path,imgname));
				
				byte[] buf = new byte[10240]; 
				int l=0; 
				while((l=inp.read(buf))!=-1){
					out.write(buf, 0, l); 
				} 
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
}
爬虫:说白了,就是收集信息,我们先爬取网页,根据网页标签的一些规律,获取我们想要的信息。

注:下面的下载地址只是一个ssm的项目,并没有爬虫的代码的, 你需要在src新建一个jsoup包Jsoup类 ,然后把我这里的代码复制到Jsoup类里面。 别忘了在pom.xml加上jsoup的包。当然如果你不是maven项目,也可以自己在lib下导入jsoup的包。

下载地址: http://download.csdn.net/detail/u013829202/9838515

 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值