zoukankan      html  css  js  c++  java
  • java网页抓取

      网页抓取就是,我们想要从别人的网站上得到我们想要的,也算是窃取了,有的网站就对这个网页抓取就做了限制,比如百度

      直接进入正题

      

     1 //要抓取的网页地址
     2 String urlStr = "http://**************/center";
     3 URL url = new URL(urlStr);
     4 URLConnection connection = url.openConnection();
     5 //得到网页的编码方式
     6 System.out.println(connection.getContentType());
     7         
     8 //读取网页的的内容
     9 BufferedReader read = new BufferedReader(new InputStreamReader(url.openStream(), "utf-8"));
    10 File file = new File("d:/test.html");
    11 BufferedWriter write = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));
    12 if(read != null){
    13 String s = null;
    14 while((s = read.readLine()) != null){
    15     System.out.println(s);
    16     write.write(s);
    17     write.flush();
    18 }
    19 read.close();
    20 write.close();

      很简单,大家不用死记硬背,我的这个思想是,

        1.通过一个url打开一个连接

        2.通过这个连接来得到网页的编码方式

        3.通过这个连接打开一个写入流,我这里把这个网页写到我的本地了,大家在练习的时候随意。

        4.进行标准的写入

        5.最重要一步,关闭连接

      就这么简单的一个小网页抓取。

        防止你的网页被别人抓取试用robots.txt,具体怎么还没研究过,http://www.robotstxt.org/ 这个是官网

        测试你的网站是否生效了,直接http://网站名/robots.txt如果显示,则证明成功。

    如果有使用请标明来源:http://www.cnblogs.com/duwenlei/
  • 相关阅读:
    运算符
    数据类型
    试题汇总
    文件读写
    Python操作
    字符串常用函数 void
    向量叉乘求任意多边形面积,凹凸均可 void
    约瑟夫问题各种求解办法 void
    大数类相关计算(c语言版) void
    求解一元多次方程(迭代法) void
  • 原文地址:https://www.cnblogs.com/duwenlei/p/3480755.html
Copyright © 2011-2022 走看看