zl程序教程

您现在的位置是:首页 >  后端

当前栏目

[Java] 获取保存某一个网站的内容详解编程语言

JAVA网站编程语言 详解 一个 获取 内容 保存
2023-06-13 09:11:47 时间

以下代码可用于获取某一个链接的响应结果, 并将响应结果做简单的处理后, 存入文件中。

import java.io.BufferedReader; 

import java.io.BufferedWriter; 

import java.io.File; 

import java.io.FileWriter; 

import java.io.IOException; 

import java.io.InputStreamReader; 

import java.io.OutputStreamWriter; 

import java.net.URL; 

import java.net.URLConnection; 

import java.util.Date; 

import java.util.List; 

import java.util.Map; 

import javax.print.attribute.standard.DateTimeAtCompleted; 

public class GetResponse { 

 /** 

 * 向指定URL发送GET方法的请求 

 * @param url 

 * 发送请求的URL 

 * @param param 

 * 请求参数,请求参数应该是 name1=value1 name2=value2 的形式。 

 * @return URL 所代表远程资源的响应结果 

 public static String sendGet(String url, String param) { 

 String result = ""; 

 BufferedReader in = null; 

 try { 

 String urlNameString = url + "?" + param; 

 System.out.println("读取响应:" + urlNameString); 

 URL realUrl = new URL(urlNameString); 

 // 打开和URL之间的连接 

 URLConnection connection = realUrl.openConnection(); 

 // 设置通用的请求属性 

 connection.setRequestProperty("accept", "*/*"); 

 connection.setRequestProperty("connection", "Keep-Alive"); 

 connection.setRequestProperty("user-agent", 

 "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.155 Safari/537.36"); 

 // 建立实际的连接 

 connection.connect(); 

 // 获取所有响应头字段 

 Map String, List String map = connection.getHeaderFields(); 

 // 遍历所有的响应头字段 

 for (String key : map.keySet()) { 

 System.out.println(key + "--- " + map.get(key)); 

 // 定义 BufferedReader输入流来读取URL的响应 

 in = new BufferedReader(new InputStreamReader(connection.getInputStream())); 

 String line; 

 while ((line = in.readLine()) != null) { 

 result += line; 

 } catch (Exception e) { 

 System.out.println("发送GET请求出现异常!" + e); 

 e.printStackTrace(); 

 // 使用finally块来关闭输入流 

 finally { 

 try { 

 if (in != null) { 

 in.close(); 

 } catch (Exception e2) { 

 e2.printStackTrace(); 

 return result; 

 public static void main(String[] args) { 

 Date currenttime = new Date(); 

 String url = "http://xxx.com"; 

 String result = ""; 

 for (int i = 0; i i++) { 

 if (result.equals("")) { 

 currenttime = new Date(); 

 result = sendGet(url, currenttime.getTime() + ""); 

 System.out.println(result); 

 String[] result2 = result.split("="); 

 System.out.println(result2[1]); 

 System.out.println(); 

 try { 

 File file = new File("goldprice.txt"); 

 // If file doesnt exists, then create it 

 if (!file.exists()) { 

 file.createNewFile(); 

 // true = append file 

 FileWriter fileWritter = new FileWriter(file.getName(), true); 

 BufferedWriter bufferWritter = new BufferedWriter(fileWritter); 

 bufferWritter.write(currenttime + result2[2].replace("|", "/t")); 

 bufferWritter.newLine(); 

 bufferWritter.close(); 

 System.out.println("Done"); 

 } catch (IOException e) { 

 e.printStackTrace(); 

}

将上面的代码保存为.java格式。 在command窗口下,运行:javac GetResponse.java, 生成.class文件。

建一个新的文件,将以下内容拷贝保存到文件中,并以.bat为后缀。执行该bat文件后, 执行的状态将会保存到main.log文件中。

java GetResponse main.log 

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/17005.html

cgojavawindows