精华内容
下载资源
问答
  • JAVA通过url获取网页内容

    热门讨论 2012-12-08 21:50:57
    JAVA通过url获取网页内容
  • java如何获取网页全部内容

    千次阅读 2019-07-24 22:38:40
    需要读取一个网页的内容,却发现只读取到了网页内容的一部分。 下面是代码: public static void read1(String urlStr) { URL url = null; InputStream is = null; InputStreamReader isr = null; ...

    URL获取

    之前在项目中,遇到这样一个问题。需要读取一个网页的内容,却发现只读取到了网页内容的一部分。
    下面是代码:

    	public static void read1(String urlStr) {
    		URL url = null;
    		InputStream is = null;
    		InputStreamReader isr = null;
    		BufferedReader br = null;
    		StringBuffer sb = new StringBuffer();
    		try {
    			url = new URL(urlStr);
    			is = url.openStream();
    			isr = new InputStreamReader(is,"utf-8");
    			br = new BufferedReader(isr);
    			char[] c = new char[1024];
    			while(br.read(c) != -1) {
    				final String ss = new String(c);
    				sb.append(ss);
    			}
    		} catch (MalformedURLException e) {
    			e.printStackTrace();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}finally {
    			try {
    				br.close();
    			} catch (IOException e) {
    				e.printStackTrace();
    			}
    		}
    		System.out.println(sb.toString());
    	}
    

    将获取的内容存储到本地文件中,发现,其占用空间大小为4096字节,这正好为系统一页的大小(不同系统的页的大小是不一样的,一般都是512字节的整数倍)。说明在请求服务端资源时,服务端只读了资源地一部分,那么如何才能源源不断地读取整个资源呢?目前,没有找到解决方案。
    但是想到,用浏览器访问时,是可以访问到全部内容的。于是,我改成了org.apache.commons.httpclient.HttpClient,果然,获取到了全部内容。

    HttpClient获取

    	public static String doGet(String url) {
    		String respstr = "";
    		try {
    			GetMethod getMethod = new GetMethod(url);
    			HttpClient httpclient = new HttpClient();
    			httpclient.executeMethod(getMethod );
    			InputStream inputStream = getMethod.getResponseBodyAsStream();  
    			BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));  
    			StringBuffer stringBuffer = new StringBuffer();  
    			String str= "";  
    			while((str = br.readLine()) != null){  
    				stringBuffer .append(str );  
    			}
    			respstr=stringBuffer.toString();
    		}catch (Exception e) {
    			e.printStackTrace();
    			throw new RuntimeException(e);
    		}
    		return respstr;
    	}
    
    展开全文
  • 主要介绍了Java获取网页数据步骤方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • Java实现用HttpClient来获取网页内容

    千次阅读 2020-10-07 16:07:27
    博主用到是Apache下的HttpClient包,它...在Java网络爬虫实战中,经常使用HttpClient来获取网页内容,用jsoup来解析网页内容。 本文用HttpClient来演示简单获取酷狗音乐(https://www.kugou.com)内容: 首先导入依赖:

    博主用到是Apache下的HttpClient包,它是用来提供高效的,最新的,功能丰富的支持Http协议的客户端编程工具,并且它支持Http协议最新的版本和建议。相比于其他传统JDK自带的URLConnection,并增加了易用性和灵活性。其主要功能是用来向服务器发送请求,并返回相关资源。在Java网络爬虫实战中,经常使用HttpClient来获取网页内容,用jsoup来解析网页内容。

    本文用HttpClient来演示简单获取酷狗音乐(https://www.kugou.com)内容:

    首先导入依赖:

    <dependency>
        <?用来模拟浏览器发送http请求的一个工具?>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.3</version>
    </dependency>

    具体代码如下:

    import org.apache.http.client.methods.CloseableHttpResponse;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.CloseableHttpClient;
    import org.apache.http.impl.client.HttpClients;
    import org.apache.http.util.EntityUtils;
    import org.junit.Test;
    
    /**
     * @Author 海龟
     * @Date 2020/10/7 14:59
     * @Desc  演示使用HttpClient实现网络爬虫
     */
    public class HttpClient {
        @Test
        public void testGet() throws Exception {
            //1.创建HttpClient对象
            CloseableHttpClient httpClient = HttpClients.createDefault();
    
            //2. 创建HttpGet请求,并进行相关设置
            HttpGet httpGet = new HttpGet("https://www.kugou.com/?username==java");
            httpGet.setHeader("User-Agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Mobile Safari/537.36 Edg/85.0.564.68");
    
            //3.发起请求
            CloseableHttpResponse response = httpClient.execute(httpGet);
    
            //4.判断响应状态码并获取响应数据
            if (response.getStatusLine().getStatusCode() == 200) { //200表示响应成功
                String html = EntityUtils.toString(response.getEntity(), "UTF-8");
                System.out.println(html);
            }
    
            //5.关闭资源
            httpClient.close();
            response.close();
    
        }}
    

     

    演示结果为:

    快快去演示一下吧!!!

    展开全文
  • java爬虫抓取网页内容,下载网站图片。抓取整个网站的图片,获取网页完整内容
  • Java爬虫获取网页表格数据并保存到MySQL数据库,包含完整代码
  • java socket 获取网页内容

    千次阅读 2017-05-27 15:50:31
    简单的请求,主要明白请求的原理socket是网络通信的基石,最近发现tomcat底层也是使用socket来接受请求的,就试了一下自己用java请求一个网址看看是否可以获取到数据,结果成了....至于什么是socket,什么是文件流...
    简单的请求,主要明白请求的原理
    socket是网络通信的基石,最近发现tomcat底层也是使用socket来接受请求的,就试了一下自己用java请求一个网址看看是否可以获取到数据,结果成了....
    至于什么是socket,什么是文件流这里就不赘述了
    上代码
    public static void main(String[] args) throws Exception {
    		Socket s=new Socket(InetAddress.getByName("www.baidu.com"),80);
    		//可以理解成request请求,想服务器发送数据
    		OutputStream os=s.getOutputStream();
    		OutputStreamWriter osw=new OutputStreamWriter(os);
    		BufferedWriter bw=new BufferedWriter(osw);
    		//编辑请求头,也就是请求参数,这是最基本的 正常请求会带好多参数
    		bw.write("GET / HTTP/1.1\r\n");
    		bw.write("Connection: Keep-Alive\r\n");
    		bw.write("Host: www.baidu.com\r\n");
    		bw.write("Connection: Keep-Alive\r\n\r\n");
    		bw.flush();
    		s.shutdownOutput();
    		
    		
    		//这里当然是response响应了
    		InputStream is=s.getInputStream();
    		BufferedReader br=new BufferedReader(new InputStreamReader(is));
    		String str=null;
    		while((str=br.readLine())!=null){
    			System.out.println(str);
    		}
    		
    		s.close();
    	}


    如果有不成功的,但是控制台有响应的数据了,那就说明你成功一大半了....

    展开全文
  • Java获取指定URL页面内容;函数指定URL以及对应页面字符集,取得页面内容
  • java通过url获取网页内容

    万次阅读 2017-01-01 20:42:15
    java中,一个url的简单小应用,就是通过url爬取网页内容。在这里会遇到一个小问题,如果是服务器端禁止抓取,会在控制台报 HTTP 403错误代码。例如CSDN博客网站java.io.IOException: Server returned ...

    在java中,一个url的简单小应用,就是通过url爬取网页的内容。

    在这里会遇到一个小问题,如果是服务器端禁止抓取,会在控制台报 HTTP 403错误代码。例如CSDN博客网站

    java.io.IOException: Server returned HTTP response code: 403 for URL:

    这里写图片描述
    这里写图片描述

    解决方法:

    可以通过设置User-Agent来欺骗服务器。

    httpUrlConn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");

    全部代码如下:

    package cn.edu.ldu.socket;
    
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    
    public class Test {
    
        public static void main(String[] args) {      
            try {  
                //建立连接  
                URL url = new URL("http://blog.csdn.net/HLK_1135");  
                HttpURLConnection httpUrlConn = (HttpURLConnection) url.openConnection();  
                httpUrlConn.setDoInput(true);  
                httpUrlConn.setRequestMethod("GET");  
                httpUrlConn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
                //获取输入流  
                InputStream input = httpUrlConn.getInputStream();
                //将字节输入流转换为字符输入流
                InputStreamReader read = new InputStreamReader(input, "utf-8");
                //为字符输入流添加缓冲
                BufferedReader br = new BufferedReader(read);  
                // 读取返回结果  
                String data = br.readLine();
                while(data!=null)  {
                    System.out.println(data);
                    data=br.readLine();
                }  
                // 释放资源  
                br.close();  
                read.close();  
                input.close();  
                httpUrlConn.disconnect();  
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }  
    }

    这里写图片描述

    展开全文
  • Java抓取网页内容三种方式
  • java+jsoup抓取网页数据

    2018-12-21 14:12:58
    使用java+jsoup进行网页数据的抓取,提取自己想要的数据
  • java根据json规则抓取网页内容,方便页面变动的维护,可以根据需要自定义规则或源码,json规则与jquery相似
  • 使用URLConnection来获取网页内容,发送get方法,如果所提供的是CSS代码,需求所需要的结果需要用到正则表达式来获取。package Get;import Post.PostMethod;import java.io.BufferedReader; import java.io....
  • JAVA IO流 获取网页内容

    千次阅读 2018-03-13 22:30:36
    在Android音乐项目中:获取Json字符串,由于json字符串显示在页面上,所以需要获取网页显示的内容。基本思路如上。public class HtmlService { public static String getHtml(String path) throws Exception { //...
  • JAVA HttpURLConnection 获取网页内容

    千次阅读 2017-05-27 14:36:41
    JAVA HttpURLConnection 获取网页内容 import java.net.URL; import java.net.MalformedURLException; import java.net.HttpURLConnection; import java.io.IOException; import java.io.InputStream; ...
  • 利用java获取网页内容

    2016-09-21 21:42:40
    java中有一个叫做URL的类,URL叫统一资源定位器,表示Internet中某一个资源的IP。 ... 使用java的URL类来获取网页内容,将使用URL类中给的openStream方法。具体的程序如下: package com.hano
  • 这里我编写了两个类,一...- 访问并获取网页源码 //CatHttp类 public String getHttpText(String Url) { // TODO Auto-generated method stub try { // 获取url url = new URL(Url); // 下载资源 Ht.
  • 获取网页的动态内容参考 https://stackoverflow.com/questions/42446990/parse-html-table-to-json-using-jsoup-in-java maven:<!--将html转换为Map--><dependency> <groupId>org.jsoup</...
  • 主要介绍了Java通过URL获取公众号文章生成HTML的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • java获取网页cookies

    千次阅读 2019-09-26 16:37:22
    需要爬取一个页面,因为访问页面时,参数里需要传入cookie数据,所以先要获取进入该网页的cookie,具体获取cookie步骤如下: public static String getCookies(String url) throws IOException { // 全局请求设置 ...
  • 我想获取网页上的内容, 这个网页每次连接都会生成一句新的例句 : 例如 :I will make sure she is taken care of mentally emotionally and physically 我想获取这个内容,返串回字符串,我使用的 是Android studio ...
  • 采用的java的httpurlconnection方式实现。 并将post及get方法进行了封装,能够比较简单的调用。这里发出我自己写的源码。 在文件里面,数据的抓取为正则表达式方式抓取数据 实现的方式有。 1.根据文件中出现的字符...
  • 需求是填写一个jsp路径,在控制台返回该jsp生成的动态网页的html代码,我用的是HttpClient这个类实现的,但是返回的页面代码没有发送ajax请求获得数据,页面用浏览器打开是不完整的,求大神解答。
  • JAVA获取html网页中的图片src内容

    万次阅读 2018-01-11 16:35:41
    有很多时候会有这样的需求,获取一个网页中图片的路径,在Java中,可以使用Pattern类、Matcher类,配合正则表达式来获取一个字符串中需要的特定内容。 首先来看一下网页中一个标签所处的位置,例如:String content...
  • java利用URL获取网页内容,
  • 主要为大家详细介绍了JavaCV实现获取视频每帧并保存,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • String str = "jdkjkfasfdfdsf"; Matcher m = Pattern.compile("()", Pattern.DOTALL).matcher(str); if (m.find()) System.out.println(m.group(1)...如果只要中间内容,两端丢弃,如下 String str = "jdkjkfasfdfd
  • Java爬虫爬取网页数据

    2017-11-07 20:38:13
    此工具可用于网页数据的爬取,代码中本身就有一个demo,自行参考使用
  • 启动 public static void main(String[] args) throws ClientProtocolException, URISyntaxException, IOException { ... 导入依赖 org.apache.poi poi 3.14 运行 本地生成word文件 内容为html页面 ok 持续更新

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 126,799
精华内容 50,719
关键字:

java怎样获取网页的内容

java 订阅