转:JAVA超级简单的爬虫实例讲解

爬取整个页面的数据,并进行有效的提取信息,注释都有就不废话了:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

public class Reptile {

  

 public static void main(String[] args) { 

 String url1="";   //传入你所要爬取的页面地址

 InputStream is=null;  //创建输入流用于读取流

 BufferedReader br=null; //包装流,加快读取速度

 StringBuffer html=new StringBuffer(); //用来保存读取页面的数据.

 String temp=""; //创建临时字符串用于保存每一次读的一行数据,然后html调用append方法写入temp;

 try {

  URL url2 = new URL(url1); //获取URL;

  is = url2.openStream(); //打开流,准备开始读取数据;

  br= new BufferedReader(new InputStreamReader(is)); //将流包装成字符流,调用br.readLine()可以提高读取效率,每次读取一行;

  while ((temp = br.readLine()) != null) {//读取数据,调用br.readLine()方法每次读取一行数据,并赋值给temp,如果没数据则值==null,跳出循环;

  html.append(temp); //将temp的值追加给html,这里注意的时String跟StringBuffere的区别前者不是可变的后者是可变的;

  }

  //System.out.println(html); //打印出爬取页面的全部代码;

  if(is!=null)  //接下来是关闭流,防止资源的浪费;

  {

   is.close();

   is=null;

  }

  Document doc=Jsoup.parse(html.toString()); //通过Jsoup解析页面,生成一个document对象;

  Elements elements=doc.getElementsByClass("XX");//通过class的名字得到(即XX),一个数组对象Elements里面有我们想要的数据,至于这个div的值呢你打开浏览器按下F12就知道了;

  for (Element element:elements) {

   System.out.println(element.text()); //打印出每一个节点的信息;你可以选择性的保留你想要的数据,一般都是获取个固定的索引; 

  }  

 } catch (MalformedURLException e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

 } catch (IOException e) {

  // TODO Auto-generated catch block

  e.printStackTrace();

 }

  

  

  

}

上一张自己爬取的图片,并用fusioncharts生成报表(一般抓取的是int类型的数据的话,生成报表可以很直观)

以上这篇JAVA超级简单的爬虫实例讲解就是小编分享给大家的全部内容了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值