这个只是简单的爬虫例子,适合初学者学习,了解,当然如果你想弄高级点,可以把你爬到的数据,通过实体类保存起来,关键是方法。
做了两个小例子:
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.youkuaiyun.com/detail/u013829202/9838515