「java制作信息采集存储」java储存数据
本篇文章给大家谈谈java制作信息采集存储,以及java储存数据对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、怎样用Java实现网站数据采集.txt
- 2、如何用Java实现数据采集?
- 3、请教下如何使用java做实时网页数据采集?
- 4、在java类中如何实现信息的存储
- 5、java编程:编写一个文件信息存储程序,用户通过键盘输入学生的姓名,性别,班级,地址等信息,
- 6、如何用java实现新闻采集
怎样用Java实现网站数据采集.txt
可以使用HttpClient读取网页的内容
整个过程分为六步
创建 HttpClient 的实例
2. 创建某种连接方法的实例,在这里是 GetMethod。在 GetMethod 的构造函数中传入待连接的地址
3. 调用第一步中创建好的实例的 execute 方法来执行第二步中创建好的 method 实例
4. 读 response
5. 释放连接。无论执行方法是否成功,都必须释放连接
6. 对得到后的内容进行处理
实现如下:
import java.io.IOException;
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.params.HttpMethodParams;
public class HttpClientTest...{
public static void main(String[] args) {
//构造HttpClient的实例
HttpClient httpClient = new HttpClient();
//创建GET方法的实例
GetMethod getMethod = new GetMethod("");
//使用系统提供的默认的恢复策略
getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new DefaultHttpMethodRetryHandler());
try {
//执行getMethod
int statusCode = httpClient.executeMethod(getMethod);
if (statusCode != HttpStatus.SC_OK) {
System.err.println("Method failed: "
+ getMethod.getStatusLine());
}
//读取内容
byte[] responseBody = getMethod.getResponseBoy();
//处理内容
System.out.println(new String(responseBody));
} catch (HttpException e) {
//发生异常,可能是协议不对或者返回的内容有问题
System.out.println("Please check your provided http address!");
e.printStackTrace();
} catch (IOException e) {
//发生网络异常
e.printStackTrace();
} finally {
//释放连接
getMethod.releaseConnection();
}
}
}
这样得到的是页面的源代码,再进行处理
如何用Java实现数据采集?
Java网页数据采集器例子如下:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* Group 类 用于匹配和抓取 html页面的数据
*/
public class Group {
public static void main(String[] args) {
// Pattern 用于编译正则 这里用到了3个正则 分别用括号()包住
// 第1个正则用于匹配URL 当然这里的正则不一定准确 这个匹配URL的正则就是错误的 只是在这里刚好能匹配出来
// 第2个正则是用于匹配标题 SoFlash的
// 第3个正则用于匹配日期
/* 这里只用了一条语句便把url,标题和日期全部给匹配出来了 */
Pattern p = Pattern
.compile("='(\\w.+)'(\\w.+[a-zA-Z])-(\\d{1,2}\\.\\d{1,2}\\.\\d{4})");
String s = "a href=''SoFlash-12.22.2011/a";
Matcher m = p.matcher(s);
while (m.find()) {
// 通过调用group()方法里的索引 将url,标题和日期全部给打印出来
System.out.println("打印出url链接:" + m.group(1));
System.out.println("打印出标题:" + m.group(2));
System.out.println("打印出日期:" + m.group(3));
System.out.println();
}
System.out.println("group方法捕获的数据个数:" + m.groupCount() + "个");
}
}
下输出结果:
打印出url链接:
打印出标题:SoFlash
打印出日期:12.22.2011
group方法捕获的数据个数:3个
请教下如何使用java做实时网页数据采集?
String urlStr = ""; // 网址
try {
//创建一个url对象来指向要采集信息的网址
URL url = new URL(urlStr);
//将读取到的字节转化为字符
InputStreamReader inStrRead = new InputStreamReader(url.openStream(),"utf-8");
//读取InputStreamReader转化成的字符
BufferedReader bufRead = new BufferedReader(inStrRead);
//读到的内容不为空
while (bufRead.readLine() != null) {
System.out.println(bufRead.readLine());
}
bufRead.close();
} catch (IOException e) {
e.printStackTrace();
}
在java类中如何实现信息的存储
package com.ctx0331;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* 实现文件的读取和写入
*
* @author Administrator
*
*/
public class FileUtil {
public static void main(String[] args) throws IOException {
byte[] datafile = loadFileData("./tempdata/abc.txt");
System.out.println(new String(datafile));
String str = "写入文件";
String outpath = "./tempdata/out.txt";
saveDataToFile(outpath, str.getBytes());
}
/**
* 读取指定路径的文件内容
*
* @param fileName
* @return data
* @throws IOException
*/
public static byte[] loadFileData(String fileName) throws IOException {
byte[] data = new byte[1024];// 用于存储读取的文件内容
File file = new File(fileName);
if (file.exists()) {
FileInputStream fis = new FileInputStream(file);
fis.read(data);
fis.close();
} else {
System.out.println("文件不存在");
}
return data;
}
/**
* 向指定路径的文件写入data中的内容
*
* @param fileName
* @param data
* @throws IOException
*/
public static void saveDataToFile(String fileName, byte[] data)
throws IOException {
File file = new File(fileName);
if (!file.exists()) {// 文件不存在就创建
file.createNewFile();
}
FileOutputStream fos = new FileOutputStream(file);
fos.write(data);
fos.close();
}
}
java编程:编写一个文件信息存储程序,用户通过键盘输入学生的姓名,性别,班级,地址等信息,
//test.java
import java.io.*;
import java.util.*;
public class test {
public static void main (String[] args) {
try{
String strName="";
String strSex="";
int i=1;
//构造写入文件的File对象
File file2=new File("a.txt"); //创建一个a.txt文件
//构造低层输出流
FileWriter fw=new FileWriter(file2);
//构造高层输出流
BufferedWriter bw=new BufferedWriter(fw);
while(true){
System.out.println ("请输入第"+i+"学生姓名:");
Scanner sc = new Scanner(System.in);
strName = "姓名:"+sc.next();
System.out.println ("请输入性别:");
Scanner sc2 = new Scanner(System.in);
strSex = "性别"+sc2.next();
//写入文件
bw.write(strName+" "+strSex);
bw.newLine(); //换行
System.out.println ("是否结束程序:y/n");
Scanner sc3 = new Scanner(System.in);
String str = sc3.next();
if(str.equals("y"))break; //如果输入的是y则退出程序
i++;
}
//关闭流
bw.close();
fw.close();
}catch(IOException ex1){
System.out.println ("输入输出异常");
}
System.out.println ("程序结束");
}
}
本人刚入手java 可能写得不是很好.. 希望能给你带来帮助..
不足之处,敬请原谅!
如何用java实现新闻采集
如果代码能力不是很好的话可以借助一些软件去抓取新闻的字段
把数据抓取下来以后可以选择存入数据库当中
需要去重的话,在Java的集合框架中就有HashSet和HashMap可以对数据去重
使用带Hash的集合时一定要注意,如果是存放自定义的对象一定要重写equals方法和HashCode方法
关于java制作信息采集存储和java储存数据的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-26,除非注明,否则均为
原创文章,转载请注明出处。