Java 网络 URL 从网页上获取数据
来源:互联网 发布:淘宝卖家怎么注册帐号 编辑:程序博客网 时间:2024/05/16 02:32
简单了解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); }}
0 0
- Java 网络 URL 从网页上获取数据
- JAVA 网络 URL 从网页上获取数据 二
- 从网络上获取数据
- Java 从网页指定URL获取文件
- 从网络上获取网页源代码
- 十六、从网络中获取网页数据
- 十六、从网络中获取网页数据
- 【android初级】之Android之从网络上获取数据(图片,网页,xml,json等)
- android 从网络上获取数据(图片,网页,xml,json等)
- iOS总结(从网络上获取数据)
- ios通过URL地址,从网络上获取图片
- ios通过URL地址,从网络上获取图片
- ios通过URL地址,从网络上获取图片
- java从网络上获取图象信息
- Java从URL获取数据并传JSON数据
- Java打开网页获取数据,自动访问,打开指定URL
- android从URL获取数据
- java网络编程--从网络上获取声音
- maven阿里云中央仓库
- Javascript面向对象编程指南(一)
- Eclipse中Maven工程缺少Maven Dependencies
- [08]项目实战-PC 端固定布局(8)
- SPOJ694 Distinct Substrings (trie 树)
- Java 网络 URL 从网页上获取数据
- 与JavaWeb开发相关的一些名词解释
- android使用高德地图SDK获取定位信息
- POJ - 2385 Apple Catching解题报告
- Java中的IO流
- 九度OJ-1109:连通图
- Codeforces Round #396 (Div. 2)D. Mahmoud and a Dictionary(带权并查集)
- HTTP Status 404 - There is no Action mapped for namespace [/] and action name [] associated with con
- 主成分分析-PCA