求助:如何从网页中提取需要的数据,用JAVA实现
比如说:我需要一些关于电脑硬件的配件的一些数据,在一个网页中已经存在,我如何把这些数据提取出来(用JAVA编写),并且生成一个XML文件。求代码!谢谢!我是要一些数据,要...
比如说:我需要一些关于电脑硬件的配件的一些数据,在一个网页中已经存在,我如何把这些数据提取出来(用JAVA编写),并且生成一个XML文件。
求代码!谢谢!
我是要一些数据,要做的是捕捉网页中存在的数据信息,比如产品价格什么的
就是解析一个HTML的文件,把HTML中存在的一些数据提取出来,做成一个XML文件 展开
求代码!谢谢!
我是要一些数据,要做的是捕捉网页中存在的数据信息,比如产品价格什么的
就是解析一个HTML的文件,把HTML中存在的一些数据提取出来,做成一个XML文件 展开
3个回答
展开全部
我想你应该是想通过这个页面的url来得到这个网页里面的某些数据把。用HttpClient 。
下面我这个方法是得到搜狗页面命中多少条记录的代码。
public static void main (String args[]){
String sRequestUrlString="http://www.sogou.com/web?query=ondblclick
%3D%22%22";
GetMethod getMethod = new GetMethod(sRequestUrlString);
HttpClient client = new HttpClient();
client.setConnectionTimeout(1000 * 60);
int status=0;
try {
status = client.executeMethod(getMethod);
} catch (HttpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String sResponse="";
if(status==HttpStatus.SC_OK) {
sResponse=(getMethod.getResponseBodyAsString());
} else {
System.out.println("检索失败");
}
getMethod.releaseConnection();
String regExData = "找到 ([,\\d]*) 个网页";
if(sResponse!=null && sResponse.trim().length()>0) {
Pattern pattern = Pattern.compile(regExData);
Matcher matcher = pattern.matcher(sResponse);
if(matcher.find()) {
if(matcher.groupCount()>=1) {
int iTmpInteger =
Integer.parseInt(matcher.group(1).replaceAll(",",""),10);
System.out.println("找到"+iTmpInteger+"个网页");
}
}
}
}
这段测试代码是来测试搜狗的,String sRequestUrlString="http://www.sogou.com/web?
query=ondblclick%3D%22%22";
这里是拼写好的检索的url,
sResponse=(getMethod.getResponseBodyAsString());这个是得到本页面的源文件,然后通过
String regExData = "找到 ([,\\d]*) 个网页";正则表达式来获取([,\\d]*) ,得到命中的条数。
下面我这个方法是得到搜狗页面命中多少条记录的代码。
public static void main (String args[]){
String sRequestUrlString="http://www.sogou.com/web?query=ondblclick
%3D%22%22";
GetMethod getMethod = new GetMethod(sRequestUrlString);
HttpClient client = new HttpClient();
client.setConnectionTimeout(1000 * 60);
int status=0;
try {
status = client.executeMethod(getMethod);
} catch (HttpException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String sResponse="";
if(status==HttpStatus.SC_OK) {
sResponse=(getMethod.getResponseBodyAsString());
} else {
System.out.println("检索失败");
}
getMethod.releaseConnection();
String regExData = "找到 ([,\\d]*) 个网页";
if(sResponse!=null && sResponse.trim().length()>0) {
Pattern pattern = Pattern.compile(regExData);
Matcher matcher = pattern.matcher(sResponse);
if(matcher.find()) {
if(matcher.groupCount()>=1) {
int iTmpInteger =
Integer.parseInt(matcher.group(1).replaceAll(",",""),10);
System.out.println("找到"+iTmpInteger+"个网页");
}
}
}
}
这段测试代码是来测试搜狗的,String sRequestUrlString="http://www.sogou.com/web?
query=ondblclick%3D%22%22";
这里是拼写好的检索的url,
sResponse=(getMethod.getResponseBodyAsString());这个是得到本页面的源文件,然后通过
String regExData = "找到 ([,\\d]*) 个网页";正则表达式来获取([,\\d]*) ,得到命中的条数。
展开全部
思路,先将这些信息,存到javabean中,然后存在集合中,最后在程序中以遍历的形式写出这些东西!然后写入XML文件中.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
还是没有看明白你的意思啊,你是要代码?
在网页中空白处点右键--查看源文件--在记事本--编辑--查找下查找关键语句
在网页中空白处点右键--查看源文件--在记事本--编辑--查找下查找关键语句
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询