导航:首页 > 编程大全 > java网络数据采集

java网络数据采集

发布时间:2023-01-08 17:23:27

1. java 如何获取连接网络连接信息

用类java.net.InetAddress中
byte[] getAddress() 返回此 InetAddress 对象的原始 IP 地址。
static InetAddress[] getAllByName(String host) 在给定主机名的情况下,根据系统上配置的名称服务返回其 IP 地址所组成的数组。
static InetAddress getByAddress(byte[] addr) 在给定原始 IP 地址的情况下,返回 InetAddress 对象。
static InetAddress getByAddress(String host, byte[] addr) 根据提供的主机名和 IP 地址创建 InetAddress。
static InetAddress getByName(String host) 在给定主机名的情况下确定主机的 IP 地址。
String getCanonicalHostName() 获取此 IP 地址的完全限定域名。
String getHostAddress() 返回 IP 地址字符串(以文本表现形式)。
String getHostName() 获取此 IP 地址的主机名。
static InetAddress getLocalHost() 返回本地主机。
Enumeration netInterfaces = null;
try {
netInterfaces = NetworkInterface.getNetworkInterfaces();

while (netInterfaces.hasMoreElements()) {

NetworkInterface ni = netInterfaces.nextElement();
System.out.println("DisplayName:" + ni.getDisplayName());
System.out.println("Name:" + ni.getName());

Enumeration ips = ni.getInetAddresses();
while (ips.hasMoreElements()) {
System.out.println("IP:"
+ ips.nextElement().getHostAddress());
}
}
} catch (Exception e) {
e.printStackTrace();
}

2. 如何用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='http://www.cnblogs.com/longwu'>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链接:http://www.cnblogs.com/longwu
打印出标题:SoFlash
打印出日期:12.22.2011
group方法捕获的数据个数:3个

3. 请教下如何使用java做实时网页数据采集

这个比较难,比较麻烦!
我们公司的项目是java开发的,但是数据采集这块是单独外包给一家叫“有讯软件”的采集服务商来做的。

4. 怎样用Java实现网站数据采集.txt

可以使用HttpClient读取网页的内容

整个过程分为六步

  1. 创建 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("http://www.crazyjava.org");

//使用系统提供的默认的恢复策略

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();

}

}

}

这样得到的是页面的源代码,再进行处理

5. 如何用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='http://www.cnblogs.com/longwu'>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链接:http://www.cnblogs.com/longwu
打印出标题:SoFlash
打印出日期:12.22.2011
group方法捕获的数据个数:3个

6. java 高并发大量采集数据该如何去做

数据库连接已设置为了1000,说明你的软件设计方法不对,
类似的情况只用1个数据库连接或几个就够了,
参考中间件设计或MIDAS设计,类似数据库做个Pool的处理方法,
而不是让软件直连数据库

7. 数据采集器与爬虫相比有哪些优势

由于现在数据比较多,仅靠人工去采集,这根本就没有效率,因此面对海量的网页数据,大家通过是使用各种的工具去采集。目前批量采集数据的方法有:
1.采集器
采集器是一种软件,通过下载安装之后才可以进行使用,能够批量的采集一定数量的网页数据。具有采集、排版、存储等的功能。
2.爬虫代码
通过编程语言Python、JAVA等来编写网络爬虫,实现数据的采集,需要经过获取网页、分析网页、提取网页数据、输入数据并进行存储。
那么采集数据用采集器还是爬虫代码好?二者是有什么区别,优缺点如何?
1.费用
稍微好用些的采集器基本都是收费的,不收费的采集效果不好,或者是其中某些功能使用需要付费。爬虫代码是自己编写的,不需要费用。
2.操作难度
采集器是个软件,需要学会操作方法就可以,非常容易。而想用爬虫来采集,是有一定的难度的,因为前提是你要会编程语言,才能进行编写代码。你说是一款软件好学,还是一种语言好学呢?
3.限制问题
采集器直接采集就可以,无法更改其中的功能设置,对于IP限制,有些采集器中会设置了代理使用,若是没有代理,那么需要自己再配合代理使用。
编写爬虫也要考虑网站限制问题,除了IP限制,还有请求头,cookie,异步加载等等,这些都是要根据不同的网站反爬虫来加入不同的应对方法。可以使用爬虫代码有些复杂,需要考虑的问题比较多。
4.采集内容格式
一般采集器只能采集一些简单的网页,存储格式也只有html与txt,稍微复杂的页面无法顺利采集下来。而爬虫代码可以根据需要来编写,获取数据,并存储为需要的格式,范围比较广。
5.采集速度
采集器的采集速度可以设置,但是设置后,批量获取数据的时间间隔一样,非常容易被网站发现,从而限制你的采集。爬虫代码采集可以设置随机时间间隔采集,安全性高。
采集数据用采集器还是爬虫代码好?从上文的分析可知,使用采集器会简单很多,虽然采集范围以及安全性不太好,但是也可以满足采集量比较低的人员使用。而使用爬虫代码来采集数据,是有难度的,但对于学习到编程语言的人来说,也不是很难,主要就是要运用工具来突破限制,比如使用换IP工具来突破IP限制问题。爬虫代码的适用范围广,应对各方面的反爬虫有技巧,能够获取到反爬虫机制比较严的网站信息。
以上就是我的回答,希望对你有帮助

8. 润乾报表怎么用Java采集数据

如果是FineReport报表,利用程序数据集就可以实现。使用程序数据集首先需要定义程序数据源,写一段相关代码,把代码重命名为.java后缀名,再把这个Java文件编译成.class类,拷贝到报表工程/WEB-INF/classes目录下。之后只需配置程序数据源就可以使用程序了。

9. 如何 用Java语言获得网页数据

你这个是不是A系统想了解B系统的页面信息?

如果是这样存在一个问题比较难解决,版就是数据源问题,权你A系统并不知道B系统的数据。

如果要获取招聘信息的公司名称,有几个思路
1、A系统做一个iframe,这个iframe里面嵌入你要访问的URL,然后你通过JS,获取这个iframe标签里面的所有内容,这样数据源就解决了
2、你可以做一个浏览器插件,这个插件的功能就是获取当前访问页面的所有字符数据,获取到数据后将数据发送到A系统
3、对网页进行截图,然后通过OCR软件获取图片中的文字,并将文字保存成文本,A系统读取这个文本信息,数据源问题也可以解决

以上上个只是我临时想到的,可能还可以运用JAVA的全文检索框架试试看,因为没有用过这个框架所以不知道是否能够实现

获取到数据源后,接下来就是业务处理了,业务处理就看具体业务进行处理就行了,技术方面就是一个文字处理的功能,技术好实现,业务比较复杂

10. java socket+Modbus进行数据采集的实例

java socketcp 就是 tcp socket 你用java nio 或 mina就可以了

阅读全文

与java网络数据采集相关的资料

热点内容
ubunturoot文件夹 浏览:745
手机文件误删能否恢复数据 浏览:955
照片文件名中的数字代表什么 浏览:44
cs6裁切工具 浏览:235
数据库超过多少数据会卡 浏览:858
CAD落图文件 浏览:125
怎样翻译文件内容 浏览:679
戴尔r910安装linux 浏览:69
有线电视升级失败 浏览:560
火绒安全把文件删掉了在哪里找 浏览:503
手机qq网络状态方框 浏览:225
哪里有文件纸袋 浏览:873
复制的东西能不能粘贴到空文件夹 浏览:876
酒店没有网络如何缴费 浏览:380
win10开机滚动很久 浏览:520
可对元数据实例进行的操作有什么 浏览:934
什么后缀的文件kit 浏览:295
word行书字体库下载 浏览:579
iosuc版本历史版本 浏览:14
电影字幕文件制作软件 浏览:723

友情链接