精华内容
下载资源
问答
  • java网络数据获取技术是一门相当重要的技术,这是个不错的资源
  • 主要介绍了Java实现网络数据提取所需知识点,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • Java实现网络数据获取及分析 Jpcap

    热门讨论 2009-05-09 22:58:16
    众所周知,JAVA语言虽然在TCP/UDP传输方面给予了良好的定义,但对于网络层以下的控制,却是无能为力的。JPCAP扩展包弥补了这一点。  JPCAP实际上并非一个真正去实现对数据链路层的控制,而是一个中间件,JPCAP调用...
  • java.util.Timer定时器,实际上是个线程,定时调度所拥有的TimerTasks。一个TimerTask实际上就是一个拥有run方法的类,需要定时执行的代码放到run方法体内,TimerTask一般是以匿名类的方式创建,下面的就用示例来学习...
  • java 获取json网页数据

    2015-01-18 11:08:17
    这是一个获取json网页数据java实例
  • Java 网络 URL 从网页上获取数据

    千次阅读 2017-02-09 01:23:32
    JAVA 网络 URL 网上获取数据

    简单了解URL功能
    实现从网页上获取数据

    package com.mashensoft.net;
    
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.PrintWriter;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.Scanner;
    
    /**
     * Url
     * 
     * @author PeicongHe
     *
     */
    
    public class UrlDemo {
        /**
         * 原来我们用手工通过浏览器访问网页,现在通过JAVA代码访问网页 URL
         * 统一资源定位符(URL,英语UniformResourceLocator的缩写)也被称为网页地址,是因特网上标准的资源的地址。
         * 获取网易云音乐的信息
         */
        public static void test1() {
            try {
                URL url = new URL("http://music.163.com/");
                System.out.println(url.getHost());// 获取网络地址
                System.out.println(url.getFile());// 获取文件
                System.out.println(url.getPort());// 获取端口号
                System.out.println(url.getProtocol());// 获取网络协议
                System.out.println(url.getDefaultPort());// 获取端口
            } catch (MalformedURLException e) {
                e.printStackTrace();
            }
        }
    
        /**
         * 从网页上获取内容
         */
        public static void test2() {
            try {
                URL url = new URL("http://music.163.com/");
                URLConnection conn = url.openConnection();// 打开链接
                InputStream is = conn.getInputStream();// 获取数据流
                // URLConnection is =url.openStream();//缩写
                Scanner sc = new Scanner(is, "GBK");// 扫描数据流并存放在sc里,编码方式 GBK
                while (sc.hasNextLine()) {// 判断是否存在下一行
                    System.out.println(sc.nextLine());// 输出当前行内容
                }
                sc.close();
                is.close();
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        /**
         * 由于访问网络需要连网,当不联网的时候,我就没办法使用数据 所以,我们要把从网页获取的内容存到本地来 步骤: 1、从网上获取数据 2、将数据存入文本
         */
        public static void test3() {
            StringBuffer sb = new StringBuffer();
            // Constructs a string buffer with no characters in it and an initial
            // capacity of 16 characters.
    
            try {
                URL url = new URL("http://music.163.com/");
                URLConnection conn = url.openConnection();
                InputStream is = conn.getInputStream();
                Scanner sc = new Scanner(is, "UTF-8");
                // String content ="";
                // StringBuffer sb = new StringBuffer();
                while (sc.hasNextLine()) {
                    sb.append(sc.nextLine()).append("\r\n");// 把当前行内容存放在StringBuffer
                                                            // sb里 ,append()附加)
                    // content+=sc.nextLine();
                    // System.out.println(content+=sc.nextLine());
                }
                sc.close();
                is.close();
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            // 把数据存放在文件中
            try {
                 Creates a new PrintWriter, without automatic line flushing,
                 with the specified file name.
                PrintWriter pw = new PrintWriter("content.txt");
                pw.println(sb.toString());
                pw.flush();
                pw.close();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            }
            System.out.println("执行成功");
        }
    
        /**
         * 从网页上获取数据
         * 
         * @param myUrl
         * @return
         */
        public static String getContentFromUrl(String myUrl, String charset) {
            StringBuffer sb = new StringBuffer();
            URL url;
            try {
                url = new URL(myUrl);
                URLConnection conn = url.openConnection();
                InputStream is = conn.getInputStream();
                Scanner sc = new Scanner(is, charset);
                while (sc.hasNextLine()) {
                    sb.append(sc.nextLine()).append("\r\n");
                }
                sc.close();
                is.close();
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            System.out.println("执行成功");
            return sb.toString();
        }
    
        public static boolean writeContentToFile(String content, String fileName) {
            boolean sign = false;
            // 把数据存入在文件夹中
            PrintWriter pw;
            try {
                pw = new PrintWriter(fileName);
                pw.println(content);
                pw.flush();
                pw.close();
                sign = true;
            } catch (FileNotFoundException e) {
                e.printStackTrace();
                sign = false;
            }
    
            return sign;
    
        }
    
        /**
         * 输出文件
         * 
         * @param args
         */
        public static String test3x() {
            StringBuffer sbx = new StringBuffer();
            try {
                URL urlx = new URL("https://www.baidu.com");
                InputStream uc = urlx.openStream();
                Scanner sc = new Scanner(uc, "UTF-8");
                while (sc.hasNextLine()) {
                    sbx.append(sc.nextLine()).append("\r\n");
                }
                sc.close();
                uc.close();
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            System.out.println("执行成功");
            return sbx.toString();
        }
    
        public static boolean test3xx(String content) {
            boolean sign = false;
            try {
                PrintWriter pw = new PrintWriter("a.html");
                pw.println(content);
                pw.flush();
                pw.close();
                sign = true;
            } catch (FileNotFoundException e) {
                e.printStackTrace();
                sign = false;
            }
            return sign;
        }
    
        public static void main(String[] args) {
            test1();
            // getContentFromUrl("https://www.baidu.com","UTF-8");
            // String content = getContentFromUrl("https://www.baidu.com","UTF-8");
            // boolean sign = writeContentToFile(content,"b.html");
            // String content = test3x();
            // boolean sign = test3xx(content);
            // System.out.println(sign);
        }
    }
    展开全文
  • JAVA 网络 URL 从网页上获取数据

    千次阅读 2017-02-09 10:25:30
    JAVA 网络 URL 获取数据
    package com.mashensoft.net;
    
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.PrintWriter;
    import java.io.Reader;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLConnection;
    import java.util.Scanner;
    /**
     * 
     * @author PeicongHe
     *
     */
    public class GetIpDemo {
        /**
         * 从网页上获取数据
         * @param myUrl URL地址
         * @param charset 编码方式
         * @return 网页上的数据,String类型
         */
        public static String getContentFromUrl(String myUrl,String charset){
            StringBuffer sb = new StringBuffer();
            URL url;
            try {
                url = new URL(myUrl);
                URLConnection conn = url.openConnection();
                InputStream is = conn.getInputStream();
                Scanner sc = new Scanner(is,charset);
                while(sc.hasNextLine()){
                    sb.append(sc.nextLine()).append("\r\n");
                }
                sc.close();
                is.close();
            } catch (MalformedURLException e) {
                e.printStackTrace();
            }  catch (IOException e) {
                e.printStackTrace();
            }
            System.out.println("执行成功");
            return sb.toString();
        }
        /**
         * 功能:保存数据到文件中
         * @param content 要保存的内容
         * @param fileName 目标文件名(路径)
         * @return boolean 执行是否成功 trun/false
         */
        public static boolean writeContentToFile(String content,String fileName){
            boolean sign = false;
            //把数据存入在文件夹中
            PrintWriter pw;
            try {
                pw = new PrintWriter(fileName);
                pw.println(content);
                pw.flush();
                pw.close();
                sign = true;
            } catch (FileNotFoundException e) {
                e.printStackTrace();
                sign = false;
            }
    
            return sign;
    
        }
        /**
         * 从文件中读取数据
         * @param fileName(文件路径)
         * @return content
         */
        public static String getContentFromFile (String fileName){
            StringBuffer content = new StringBuffer();
            try {
                Scanner sc = new Scanner(new FileInputStream(fileName));
                while(sc.hasNextLine()){
                    content.append(sc.nextLine()).append("\r\n");
                }
                sc.close();
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return content.toString();
        }
        /**
         * 阅读并显示文件
         * @param fileName 文件名
         */
        public static void readerFile(String fileName){
    
            char[] myArray = new char[3];
            int len;
            try {
                Reader reader = new InputStreamReader(new FileInputStream(fileName));
                while((len=reader.read(myArray))!=-1){
                    System.out.print(new String(myArray));
                }
            }
    catch (FileNotFoundException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }catch (IOException e) {
                e.printStackTrace();
            }
        }
        /**
         * 实现截取字符串中部分字符(例子)
         * int java.lang.String.indexOf(String str)
    Returns the index within this string of the first occurrence of the specified substring. 
         */
        public static void test(){
    
            String name = "hepeicong";
            System.out.println(name.indexOf("e"));//获取字符串中指定某个字符的第一次出现的位置(e)
            System.out.println(name.lastIndexOf("e"));//获取字符串中指定某个字符的最后一次出现的位置(e)
            int beginIndex = name.indexOf("e");//存放在beginIndex
            int endIndex = name.lastIndexOf("e");//存放在endIndex
            String namex = name.substring(beginIndex+1,endIndex);//截取这两个字符间的字符
            System.out.println(namex);//输出
        }
        /**
         * 功能:从文本里获取IP地址
         * @param content
         * @return ip
         */
        public static String getIpFromContent(String content){
            int beginIndex = content.indexOf("[");
            int endIndex = content.indexOf("]");
            String ip = content.substring(beginIndex,endIndex);//获取内容
            return ip ;
        }
        /**
         * 功能:从文本内容里获取运营商名称
         * @param content
         * @return ad
         */
        public static String getSpFromContent(String content){
            int beginIndex = content.indexOf("来自:");
            int endIndex = content.indexOf("</center>");
            String ad = content.substring(beginIndex,endIndex);//获取内容
            return ad;
        } 
    
        public static void main(String[] args){
            String content = getContentFromUrl("http://1212.ip138.com/ic.asp","gb2312");
            writeContentToFile(content,"c.html");
    //      readerFile("c.html");
    //      String content = getContentFromFile("c.html");
            System.out.println(getIpFromContent(content));
            System.out.println(getSpFromContent(content));
        }
    
    }
    展开全文
  • JAVA网络获取

    2013-12-07 22:15:53
    网络获取资料,同国JAVA语言实现,网络测量是通过收集数据或分组的踪迹定量分析不同的网络应用在网络中的分组活动情况的技术。 通过网络测量,可以更加有效地认识和了解网络的性能,进行高效的网络性能管理;可以...
  • 这个项目包含了网络抓包以及网络发包。采用的java的httpurlconnection方式实现。 并将post及get方法进行了封装,能够比较简单的调用。这里发出我自己写的源码。 在文件里面,数据的抓取为正则表达式方式抓取数据 ...
  • java读取网络数据流不完整的问题

    千次阅读 2012-05-01 09:19:45
    在用java的socket读取网络数据流的时候,datainputstream read(byte [] b),数据读取不完整,例如有3W的数据,有可能读到2W时read就解除阻塞,这个问题纠结了好久,终于找到问题所在,并得以解决。 如下是jdk的API...

           在用java的socket读取网络数据流的时候,datainputstream read(byte [] b),数据读取不完整,例如有3W的数据,有可能读到2W时read就解除阻塞,这个问题纠结了好久,终于找到问题所在,并得以解决。
    如下是jdk的API:
    http://www.cjsdn.net/Doc/JDK60/java/io/DataInputStream.html#read(byte[], int, int)

    如下是这位码友对此问题的解读:
    http://topic.csdn.net/u/20120316/11/ee58441d-4120-425e-9ed5-462b62733f6f.html


    如下是众码友对此问题的解释以及解决方案
    http://www.iteye.com/problems/54246


    如下是我的解决方案:

    			int length=read.readInt();
    			byte [] data=new byte[length];
    			 int nIdx = 0; 
                 int nReadLen = 0; 
                 while (nIdx < length) 
                 { 
                     nReadLen = read.read(data, nIdx, length - nIdx); 
                     if (nReadLen > 0) 
                     { 
                         nIdx = nIdx + nReadLen; 
                     } 
                     else 
                     { 
                         break; 
                     } 
                 }


    展开全文
  • 在本篇文章里小编给大家整理的是关于Java 获取网络302重定向URL的方法以及相关知识点,有兴趣的朋友们参考下。
  • Java解析网络数据流的三种方法

    千次阅读 2016-06-19 12:53:46
    但这一青睐族有着同样的经历——曾经都为网络上通信的Java数据格式而烦脑。 UTF8转换成GB2312 当我们在基于HTTP协议的JSP或Servlet的应用中获取数据或发送请求时,JVM会把输送的数据编码成UTF8格式。如果我们直接从...

    Java作为最开放的语言,已越来越受到网络程序员的青睐。但这一青睐族有着同样的经历——曾经都为网络上通信的Java数据格式而烦脑。

    UTF8转换成GB2312 当我们在基于HTTP协议的JSP或Servlet的应用中获取数据或发送请求时,JVM会把输送的数据编码成UTF8格式。如果我们直接从HTTP流中提取中文数据,提取的结果为“????”(可能更多问号),为转换成我们能够理解的中文字符,我们需要把UTF8转换成GB2312,借助ISO-8859-1标准编码能够轻易的实现. 

    byte [] b;
    String utf8_value; 
    utf8_value = request.getParameter("NAME");//从HTTP流中取"NAME"的UTF8数据
    b = utf8_value.getBytes("8859_1"); //中间用ISO-8859-1过渡
    String name = new String(b, "GB2312"); //转换成GB2312字符


    在知道流长度的情况下将输入流转换成字节数组 Java中的输入流抽象类InputStream有int read(byte[] b, int off, int len)方法,参数中byte[] b是用来存放从InputStream中读取的数据,int off指定数组b的偏移地址,也就是数组b的起始下标,int len指定需要读取的长度,方法返回实际读取的字节数。刚学Java的朋友可能要说:先定义一个与流长度等长的字节数组,调用read方法,指定起始下标为0,指定读取长度与数组长度等长,不是一下子可以读出来了吗?说的没错,笔者曾经也试着这样读取数据,但后来发现在读取网络数据时很不安全,我们想想在网络上获取数据可能并没那么流畅,数据流的传送可能会断断续续,所以并不能保证一次就能读取全部数据,特别是在读取大容量数据时更是如此,所以我们必须在读取数据时检测实际读到的长度,如果没有读完已知长度的数据就应该再次读取,以此循环检测,直到实际读取的长度累加与已知的长度相等.

    ServletInputStream inStream = request.getInputStream(); //取HTTP请求流
    int size = request.getContentLength(); //取HTTP请求流长度
    byte[] buffer = new byte[size]; //用于缓存每次读取的数据
    byte[] in_b = new byte[size]; //用于存放结果的数组

    int count = 0;
    int rbyte = 0;
    while (count < size) { //循环读取
     rbyte = inStream.read(buffer); //每次实际读取长度存于rbyte中
     for(int i=0;i;)
      in_b[count + i] = buffer[i];
    }
    count += rbyte;
    }

    展开全文
  • Java解析网络数据流的三种特殊方法

    千次阅读 2006-01-17 16:42:00
    Java解析网络数据流的三种特殊方法Java作为最开放的语言,已越来越受到网络程序员的青睐。但这一青睐族有着同样的经历——曾经都为网络上通信的Java数据格式而烦脑。笔者也不例外,曾经为此而查阅了很多文档,经过...
  • Java获取网络图片转化为输入流

    万次阅读 2018-06-23 16:22:16
    通过URL获取网络图片 import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; /** * 获取网络图片流 * * @param url * @return */ ...
  • java代码实现访问网络外部接口并获取数据的工具类,可直接copy使用! package com.wanegi.thesis.util; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URL; import java.net....
  • Json的数据获取,从网络获取Json数据。以及解析JSON数据,包括用Google的GSON来解析JSON
  • Java解析网络数据流的三种特殊方法

    千次阅读 2005-05-23 11:22:00
    Java作为最开放的语言,已越来越受到网络程序员的青睐。...今天笔者写此文,介绍用Java解析网络数据的三种特殊方法,希望对正在寻求这方面问题答案的读者有所帮助。 UTF8转换成GB2312 当我们在基于
  • 网络数据流的java处理

    千次阅读 2007-08-07 18:10:00
     前言:java程序要处理很多的网络数据网络数据发送和接收以及数据流的处理是java程序要特别关注的方面,随着java的发展,这些方法也越来越得到重视和加强。本文从几个方面解释了java正确处理网络数据流的要素,...
  • Java 网络编程

    万次阅读 多人点赞 2019-05-30 23:07:18
    把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大,功能强的网络系统,从而使众多的计算机可以方便的互相传递信息,共享硬件,软件,数据信息等资源。 计算机网络的主要功能: 资源共享 ...
  • Java 获取网页数据的一般步骤和方式

    千次阅读 2019-01-03 13:03:05
    面前通过网络进行数据获取是一个很有效而且快捷的方式。 首先我们来简单的介绍一下,利用java对网页数据进行抓取的一些步骤,有不足的地方,还望指正,哈哈。屁话不多说了。 其实一般分为以下不足: 1:通过...
  • 本示例代码,使用纯java语言实现神经网络算法模型,包括分类及回归,RNN等,并带有源代码及数据。可直接运行。运行结果展示使用了JFreeChart。
  • 服务端可以获取客户端的数据。客户端也可以获取服务端的响应。但如果把其中inputStream的读取数据方式改为如下: while((len=inputStream.read(buf))>0){ //此处拼接客户端的消息 } //在循环外向客户端相应 ...
  • java抓取网页数据示例

    2020-09-04 14:24:02
    要通java获取整个网页的html内容,或者某个网络文件的内容,可以使用java提供的HttpURLConnection类来实现对网页内容的抓取
  • 使用Fiddler捕获java网络通信数据

    千次阅读 2014-03-04 16:20:11
    Fiddler启动时已经将自己注册为系统的默认代理服务器,应用程序在访问网络时会去获取系统的默认代理,如果需要捕获java访问网络时的数据,只需要在启动java程序时设置 代理服务器为Fiddler即可   -DproxySet=true ...
  • JAVA网络编程之获取网络资源

    千次阅读 2016-01-05 11:39:59
    Java中也提供了相关的类去处理网络资源,而我们在处理网络资源的时候,用到的最多的就是IO,所以对IO还不了解的可以先看看前面的博客。 Java中,处理网络资源、网络通信所需要的类都在java.net包中。URL类URL代表一...
  • 所以在这里想问一下对于这种动态产生结果的网站,要如何处理才能用网络爬虫获得那部分的数据 可以的话,也请大家告知这种动态产生结果是如何是实现的 求高手指教,在此先谢过大家 ps:由于第一次在此发帖,不知...
  • http/javascript接口取数据1.1 Sina股票数据接口以大秦铁路(股票代码:601006)为例,如果要获取它的最新行情,只需访问新浪的股票数据接口:http://hq.sinajs.cn/list=sh601006 这个url会返回一串文本,例如:var...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 515,947
精华内容 206,378
关键字:

java获取网络数据

java 订阅